code: function(serviceName, creator, options) {
  
  			if (typeof services[serviceName] !== 'undefined') {
  				error(new Error('Service ' + serviceName + ' has already been added.'));
  				return;
  			}
  
  			options = options || {};
  
  			services[serviceName] = {
  				creator: creator,
  				instance: null
  			};
  
  			if (options.exports) {
  				var i,
  					length = options.exports.length;
  
  				for (i = 0; i < length; i++) {
  
  					var exportedMethodName = options.exports[i];
  
  					/* eslint-disable no-loop-func */
  					var handler = (function(methodName) {
  						return function() {
  							var service = getService(serviceName);
  							return service[methodName].apply(service, arguments);
  						};
  					}(exportedMethodName));
  					/* eslint-enable no-loop-func */
  
  					if (exportedMethodName in this) {
  						error(new Error(exportedMethodName + ' already exists on Application object'));
  						return;
  					} else {
  						this[exportedMethodName] = handler;
  					}
  
  					if (exportedMethodName in Box.Context.prototype) {
  						error(new Error(exportedMethodName + ' already exists on Context prototype'));
  						return;
  					} else {
  						Box.Context.prototype[exportedMethodName] = handler;
  					}
  
  					exports.push(exportedMethodName);
  				}
  			}
  		}
docs: ---------------------------------------------------------------------- Service-Related ---------------------------------------------------------------------- 
  Registers a new service
  @param {string} serviceName Unique service identifier
  @param {Function} creator Factory function used to generate the service
  @param {Object} [options] Additional options
  @param {string[]} [options.exports] Method names to expose on context and application
  @returns {void}