public WashTunnel(
     IMotherboard motherboard,
     IWashStepNotifier notifier)
 {
     _motherboard = motherboard;
     _state       = new FreeState(this, notifier);
 }
 public void TransitionState(IWashTunnelState state)
 {
     _state = state;
     if (state is FreeState)
     {
         _motherboard.Transmit(new VehicleReadySignal());
     }
 }
 public void TransitionState(IWashTunnelState state)
 {
     _washTunnel.TransitionState(state);
 }