public DisplayViewModel(IGameBoy gameboy, IDisplay display, IMemory memory, IDispatcher dispatcher)
        {
            _gameBoy = gameboy;
            _display = display;
            _gameBoy.FrameCompleted += OnFrameCompleted;
            _memory     = memory;
            _dispatcher = dispatcher;

            _background    = new BackgroundViewModel(gameboy, display, dispatcher);
            _tileMap       = new TileMapViewModel(gameboy, display, dispatcher);
            _window        = new WindowViewModel(gameboy, display, dispatcher);
            _sprites       = new SpritesViewModel(gameboy, display, memory, dispatcher);
            _spriteLayer   = new SpriteLayerViewModel(gameboy, display, dispatcher);
            _displayTiming = new DisplayTimingViewModel(gameboy, display, dispatcher);
        }
        public DisplayViewModel(IGameBoy gameboy, IDisplay display, IMemory memory, IDispatcher dispatcher)
        {
            _gameBoy = gameboy;
              _display = display;
              _gameBoy.FrameCompleted += OnFrameCompleted;
              _memory = memory;
              _dispatcher = dispatcher;

              _background = new BackgroundViewModel(gameboy, display, dispatcher);
              _tileMap = new TileMapViewModel(gameboy, display, dispatcher);
              _window = new WindowViewModel(gameboy, display, dispatcher);
              _sprites = new SpritesViewModel(gameboy, display, memory, dispatcher);
              _spriteLayer = new SpriteLayerViewModel(gameboy, display, dispatcher);
              _displayTiming = new DisplayTimingViewModel(gameboy, display, dispatcher);
        }