whole_func_string: function(name) {
  
    var injection = function() {
      var path = name.split('.');
      var ref = container;
  
      for (var i = 0; i < path.length; i++) {
  
        if (!ref[path[i]]) {
          if (ref.cream) {
            ref = ref.cream;
            i--;
            continue;
          }
  
          return;
        } else {
          ref = ref[path[i]];
        }
      }
  
      return ref.cream || ref;
    };
  
    injection.isInjection = true;
    injection.namespace = name;
  
  //  if (!skipCache) {
  //    caramel.once('register:' + name, function() {
  //      injection();
  //    });
  //  }
  
    return injection;
  }
func_code_string: function(name) {
  
    var injection = function() {
      var path = name.split('.');
      var ref = container;
  
      for (var i = 0; i < path.length; i++) {
  
        if (!ref[path[i]]) {
          if (ref.cream) {
            ref = ref.cream;
            i--;
            continue;
          }
  
          return;
        } else {
          ref = ref[path[i]];
        }
      }
  
      return ref.cream || ref;
    };
  
    injection.isInjection = true;
    injection.namespace = name;
  
  //  if (!skipCache) {
  //    caramel.once('register:' + name, function() {
  //      injection();
  //    });
  //  }
  
    return injection;
  }
func_documentation_string: DI inject
  
  @name inject
  @function
  @access public
  @param {String} name namespace inject object from
  @returns {function} injection resolver function