public IDisposable Subscribe(IObserver <CameraController> observer)
    {
        IDisposable sub = new GenericUnsubscriber <CameraController>(onVerticalLevelChanged, observer);

        observer.OnNext(this);
        return(sub);
    }
        public IDisposable Subscribe(IObserver <InventoryUpdateEvent> observer)
        {
            IDisposable sub = new GenericUnsubscriber <InventoryUpdateEvent>(observers, observer);

            return(sub);
        }