code: function VK(options, redirectUri, code, token) {
      EventEmitter.call(self);
      self = this;
      if (options === undefined)
          throw 'No options passed to constructor';
      if (options.appID === undefined || options.appSecret === undefined)
          throw 'Wrong options';
      if (options.mode === 'undefined' || !(options.mode === 'oauth' || options.mode === 'sig'))
          options.mode = 'oauth';
      self.options = options;
      self.code = code || '';
      self.token = token || '';
      self.redirectUri = redirectUri || 'http://localhost';
      self.userId = 0;
  }
docs: VK object.
  You can call init function if you want to know user's ID from beginning
  But you can still call api function after creating object
  all functions return "self" context to make chained requests
  List of events it emits:
  initCall, apiCall