code: public void removeVariableObserver(VariableObserver observer, String specificVariableName) throws Exception {
  		ifAsyncWeCant("remove a variable observer");
  
  		if (variableObservers == null)
  			return;
  
  		// Remove observer for this specific variable
  		if (specificVariableName != null) {
  			if (variableObservers.containsKey(specificVariableName)) {
  				variableObservers.get(specificVariableName).remove(observer);
  			}
  		} else {
  			// Remove observer for all variables
  			for (List<VariableObserver> obs : variableObservers.values()) {
  				obs.remove(observer);
  			}
  		}
  	}
docs: Removes the variable observer, to stop getting variable change notifications.
  If you pass a specific variable name, it will stop observing that particular
  one. If you pass null (or leave it blank, since it's optional), then the
  observer will be removed from all variables that it's subscribed to.
  
  @param observer
  The observer to stop observing.
  @param specificVariableName
  (Optional) Specific variable name to stop observing.
  @throws Exception