public IGumballMachineState TurnLever()
 {
     Console.WriteLine("Purchase successful.");
     return(NoCoinState.GetInstance());
 }
 public static IGumballMachineState GetInstance()
 {
     return(_instance ?? (_instance = new NoCoinState()));
 }
 public IGumballMachineState EjectCoin()
 {
     Console.WriteLine("Coin ejected.");
     return(NoCoinState.GetInstance());
 }