code: function(fn) {
  			var self = this;
  			var $wrapper = self.$wrapper.addClass(self.settings.loadingClass);
  	
  			self.loading++;
  			fn.apply(self, [function(results) {
  				self.loading = Math.max(self.loading - 1, 0);
  				if (results && results.length) {
  					self.addOption(results);
  					self.refreshOptions(self.isFocused && !self.isInputHidden);
  				}
  				if (!self.loading) {
  					$wrapper.removeClass(self.settings.loadingClass);
  				}
  				self.trigger('load', results);
  			}]);
  		}
docs: Invokes the provided method that provides
  results to a callback---which are then added
  as options to the control.
  
  @param {function} fn