docs: function(cb) {
  
        if (typeof cb === "function") {
          var opts = {
            url: uri + 'user',
            method: 'GET',
            qs: qs,
            json: true
          };
          request(opts,function(e,r,b) {
            if (e) cb(e)
            else {
              if (r.statusCode==200) cb(null, b)
              else {
                cb({statusCode:r.statusCode,error:b.error})
              }
            }
          });
          return;
        }
  
        return {
          /**
           * Fetches the user's stream
           *
           * Example:
           *     app.user().stream(function(err,data){ ... })
           *
           * @param {Function} cb
           * @api public
           */
          stream: function(cb) {
            var opts = {
              url: uri + 'user/stream',
              method: 'GET',
              qs: qs,
              json: true
            };
            request(opts,function(e,r,b) {
              if (e) cb(e)
              else {
                if (r.statusCode==200) cb(null, b)
                else {
                  cb({statusCode:r.statusCode,error:b.error})
                }
              }
            });
          },
          /**
           * Fetches the user's pucher channel
           *
           * Example:
           *     app.user().pusher_channel(function(err,data){ ... })
           *
           * @param {Function} cb
           * @api public
           */
          pusher_channel: function(cb) {
            var opts = {
              url: uri + 'user/pusherchannel',
              method: 'GET',
              qs: qs,
              json: true
            };
            request(opts,function(e,r,b) {
              if (e) cb(e)
              else {
                if (r.statusCode==200) cb(null, b.data)
                else {
                  cb({statusCode:b.id||200,error:b.error})
                }
              }
            });
          },
        }
      }