docs: function strGetter(that, name, collection, method, param) {
          var res;
          if (!that.constructor[collection].hasOwnProperty(name)) {
              throw new Error(method + ': name not found: ' + name);
          }
          res = 'undefined' !== typeof that[collection][name] ?
              that[collection][name] : that.constructor[collection][name];
          if ('function' === typeof res) {
              res = res(that, param);
              if ('string' !== typeof res && res !== false) {
                  throw new TypeError(method + ': cb "' + name + '" did not ' +
                                      'return neither string or false. Found: ' +
                                      res);
              }
          }
          return res;
      }