Added lazy building, fixed ovious mistakes, completed unit tests and functional tests
Added CannotInitialize- exception in infrastructure and set channel to null in constructor