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);
        }
        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);
        }