public static IObservable <IEnumerable <ushort> > Create(
            ICalculator calculator, IScheduler calculationScheduler, IScheduler observationScheduler,
            IPassiveTreeBuilders passiveTreeBuilders, IEnumerable <PassiveNodeDefinition> nodes)
        {
            var factory = new ItemAllocatedPassiveNodesObservableFactory(
                calculator, calculationScheduler, observationScheduler, passiveTreeBuilders, nodes);

            return(factory.Create());
        }
 private ItemAllocatedPassiveNodesObservableFactory(
     ICalculator calculator, IScheduler calculationScheduler, IScheduler observationScheduler,
     IPassiveTreeBuilders passiveTreeBuilders, IEnumerable <PassiveNodeDefinition> nodes)
 {
     _calculator           = calculator;
     _calculationScheduler = calculationScheduler;
     _observationScheduler = observationScheduler;
     _passiveTreeBuilders  = passiveTreeBuilders;
     _nodes = nodes;
 }