Factories redesigned
* all factories now objects with public constructors they need some dependencies
* Builder added; Builder duilds an Monitor object with all dependencies
* all needed factories are now injected by constructor dependency injection