introduced Reactor as collaborator for ProxyFactory
introducing factory
introduced lifecycle management and separated execution concerns from the actual communication
better handling of Reactor events