Removed factories

I removed the factories so that the IoC container (unity) could fully
manage the dependency injection using constructor injection. This allows
the various projects to be decoupled from the actual implementation of
the IoC container. Only the client project (which sets up the resolution
map) needs to be aware of the fact that IoC is happening with Unity