A number of bug fixes and performance enhancements

This is a rather large commit of various bug fixes and performance enhancemnets that have taken place during the process of open-sourcing. From here on we should be able to apply more focused pull-requests.
Refactor of factory method for contactgroups.