code cleanup
Working on client factories, bugs

Introduced AbstractClientFactory that has caching methods
removed Abstract middle layer
implemented two more factories
added beans in places
code breaks when trying to establish connection