anchor.diff:  				viewModel.openedInputs.push(anInput);
   			})
   		});
  -	});
  +	}
   
   	viewModel.inputCategoryToggled = function(inputCategory) {
   		if (_.contains(viewModel.openedInputCategories, inputCategory)) {
  
positive.code: 					return !anInput.userVariableConfig || angular.equals(anInput.userVariableConfig, {});
  				}, function(isUserInputConfigEmptyNow, wasUserInputConfigEmptyBefore) {
  					if (isUserInputConfigEmptyNow === true && wasUserInputConfigEmptyBefore === false) {
  						var indexOfUserInputConfig = _.findIndex(viewModel.selectedStep.userStepConfig.inputs, function(aUserInputConfig) {
  							return Variable.keyFromVariableConfig(aUserInputConfig) == anInput.key();
  						});
  
  						viewModel.selectedStep.userStepConfig.inputs.splice(indexOfUserInputConfig, 1);
  
  						if (angular.equals(viewModel.selectedStep.userStepConfig.inputs, [])) {
  							delete viewModel.selectedStep.userStepConfig["inputs"];
  						}
  					}
  
  					if (isUserInputConfigEmptyNow === false && wasUserInputConfigEmptyBefore === true) {
  						if (!viewModel.selectedStep.userStepConfig.inputs) {
  							viewModel.selectedStep.userStepConfig.inputs = [];
  						}
  
  						var indexOfUserInputConfig = _.findIndex(viewModel.selectedStep.userStepConfig.inputs, function(aUserInputConfig) {
  							return Variable.keyFromVariableConfig(aUserInputConfig) == anInput.key();
  						});
  
  						if (indexOfUserInputConfig != -1) {
  							viewModel.selectedStep.userStepConfig.inputs.splice(indexOfUserInputConfig, 1);
  						}
  
  						viewModel.selectedStep.userStepConfig.inputs.push(anInput.userVariableConfig);
  					}
  				}));
  			});
  
negative.code: 	$scope.$watch(function() {
  		return viewModel.selectedStep;
  	}, function(selectedStep) {
  		configureOutputsForStep(selectedStep);
  	});
  
  	$scope.$watch(function() {
  		return viewModel.selectedStep ? viewModel.selectedStep.requestedVersion() : undefined;
  	}, function() {
  		configureOutputsForStep(viewModel.selectedStep);
  	});
  
  	function configureOutputsForStep(step) {
  		viewModel.outputsOfSelectedStep = step && step.defaultStepConfig ? _.map(step.defaultStepConfig.outputs, function(anDefaultOutputConfig) {
  			return new Variable(undefined, anDefaultOutputConfig);
  		}) : undefined;
  		viewModel.openedOutputs = [];
  	}
  
  	viewModel.outputSelected = function(output) {
  		if (_.contains(viewModel.openedOutputs, output)) {
  