public void SetMode(string name) { if (_mode != null) _mode.Exit(); _mode = name == null ? null : _modes[name]; if (_mode != null) _mode.Enter(); }