|  | @@ -376,13 +376,16 @@ define(function () {
 | 
	
		
			
				|  |  |           */
 | 
	
		
			
				|  |  |          st.accessJavaScript = function (self, propertyName, args) {
 | 
	
		
			
				|  |  |              var propertyValue = self[propertyName];
 | 
	
		
			
				|  |  | -            if (typeof propertyValue === "function" && !/^[A-Z]/.test(propertyName)) {
 | 
	
		
			
				|  |  | +            if (typeof propertyValue === "function" && !(args.length === 0 && /^[A-Z]/.test(propertyName)))
 | 
	
		
			
				|  |  |                  return propertyValue.apply(self, args);
 | 
	
		
			
				|  |  | -            } else if (args.length === 0) {
 | 
	
		
			
				|  |  | -                return propertyValue;
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                self[propertyName] = args[0];
 | 
	
		
			
				|  |  | -                return self;
 | 
	
		
			
				|  |  | +            switch (args.length) {
 | 
	
		
			
				|  |  | +                case 0:
 | 
	
		
			
				|  |  | +                    return propertyValue;
 | 
	
		
			
				|  |  | +                case 1:
 | 
	
		
			
				|  |  | +                    self[propertyName] = args[0];
 | 
	
		
			
				|  |  | +                    return self;
 | 
	
		
			
				|  |  | +                default:
 | 
	
		
			
				|  |  | +                    throw new Error("Cannot interpret " + propertyName + " with " + args.length + " arguments; field is a " + typeof propertyValue + ", not a function")
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |      }
 |