Ok, so I've hacked the homegenie code about and passed an object through..by creating my own helper class.. Will worry about this later.
Fotunatley I work for a company where we have a lot of c# dev's (200+ I would say), I also get on with our software architect and some lead dev's quite well, they have been quite helpful in showing me dependency injection, moq for mocking and writing unit tests - which I had never really got my head around TDD.. Suddenly a few things have clicked into place so I have started writing a new alarm interface for homegenie which also allows me to use a .net interface to change the transport mechanism.
hopefully make some progress tomorrow whilst the other half is at the hair dressers