//Functions

        public Telephone(TelephoneState initialState, MicrophoneState micstate)
        {
            micState_        = micstate;
            state_           = initialState;
            DigitBtnEvent   += DigitBtnPresed;
            CallBtnEvent    += CallBtnPressed;
            DisconnectEvent += Disconnect;
            MuteBtnEvent    += MuteBtnPressed;
        }
        public void HandleMuteBtnPressed(Telephone e)
        {
            TelephoneState state = e.GetState();

            if (state.GetType() == typeof(Connected))
            {
                middleman(e);
            }
            else
            {
                Console.WriteLine("Cannot control mic when not in call");
            }
        }
 public void SetState(TelephoneState state)
 {
     state_ = state;
     state_.OnEnter(this);
 }