private void InitializeControllerCommands() { // Due to complexity of connect and bind we "outsource" the controlling part // to separate controllers which just expose commands var connectionController = new Connection.ConnectionController(this.Host); var bindingController = new Binding.BindingController(this.Host); this.CommandTargets.Add(connectionController); this.CommandTargets.Add(bindingController); this.ConnectCommand = connectionController.ConnectCommand; this.RefreshCommand = connectionController.RefreshCommand; this.BindCommand = bindingController.BindCommand; }