whole_func_string: function(event, opts, fn, anyway) {
                                    //
                                   // does not exist yet, subscribe anyway
      var _arguments = arguments;
      var args = Object.keys(arguments).map(function(key){return _arguments[key]});
      event = args.shift();
      opts = args.shift();
      if (typeof opts == 'string') opts = {label:opts};
      if (typeof opts == 'function') {
        fn = opts;
        anyway = args.shift();
        opts = {label:'untitled'};
      } else {
        fn = args.shift();
        anyway = args.shift();
      }
  
      if (fn.$$pipeid) return fn.$$pipeid;
      Object.defineProperty(fn, '$$pipeid', {
        enumareble: false,
        configurable: false,
        writable: false,
        value: generate()
      });
  
      var base;
      if (typeof pipeline.pipes[event] === 'undefined' && !anyway) {
        error("No such event '" + event + "'");
        throw new Error("No such event '" + event + "'");
      }
      debug("pipeline registering handler on event '" + event + "'");
      (base = pipeline.pipes)[event] || (base[event] = []);
      pipeline.pipes[event].push({
        opts: opts,
        fn: fn,
        caller: objective.getCaller(1)
      });
      return fn.$$pipeid;
    }
func_code_string: function(event, opts, fn, anyway) {
                                    //
                                   // does not exist yet, subscribe anyway
      var _arguments = arguments;
      var args = Object.keys(arguments).map(function(key){return _arguments[key]});
      event = args.shift();
      opts = args.shift();
      if (typeof opts == 'string') opts = {label:opts};
      if (typeof opts == 'function') {
        fn = opts;
        anyway = args.shift();
        opts = {label:'untitled'};
      } else {
        fn = args.shift();
        anyway = args.shift();
      }
  
      if (fn.$$pipeid) return fn.$$pipeid;
      Object.defineProperty(fn, '$$pipeid', {
        enumareble: false,
        configurable: false,
        writable: false,
        value: generate()
      });
  
      var base;
      if (typeof pipeline.pipes[event] === 'undefined' && !anyway) {
        error("No such event '" + event + "'");
        throw new Error("No such event '" + event + "'");
      }
      debug("pipeline registering handler on event '" + event + "'");
      (base = pipeline.pipes)[event] || (base[event] = []);
      pipeline.pipes[event].push({
        opts: opts,
        fn: fn,
        caller: objective.getCaller(1)
      });
      return fn.$$pipeid;
    }
func_documentation_string: optional