public OperationService(ActiveOperationsManager activeOperations, IOperationWriter writer, Func <Type, IOperationHandler> handlerFactory)
        {
            _activeOperations = activeOperations;

            _writer         = writer;
            _handlerFactory = handlerFactory;
        }
        public OperationSystem(OperationMap map, ISerializationService serializer, IOperationTransport transport, Func <Type, IOperationHandler> handlerFactory)
        {
            var writer = new NetworkOperationWriter(map, serializer, transport);
            var reader = new NetworkOperationReader(map, serializer);

            var activeOperations = new ActiveOperationsManager();

            Dispatcher = new OperationDispatcher(activeOperations, writer);
            Processor  = new OperationProcessor(new OperationService(activeOperations, writer, handlerFactory), reader);
        }