public void ChangeState(ChocolatePieceStates state)
        {
            //stop current state and cleanup.
            if (_state != null)
                _state.Stop();

            //start new state.
            _state = _stateFactory.Create(state, this);
            _state.Start();
        }
        public void Initialize()
        {
            //set the initial state
            _state = _stateFactory.Create(ChocolatePieceStates.ConnectedToBar, this);

            //register event handlers
            _hooks.OnClicked += OnClick;
            BreakButton.OnBreak += OnBreak;
        }