docs: function init(globalObject, onComplete) {
      var bot = globalObject.bot;
  
      globalObject.roomState = {
          chatHistory: [],
          mediaQueue: [],
          playHistory: [],
          usersInRoom: []
      };
  
      bot.on(Types.Event.ADVANCE, onAdvance);
      bot.on(Types.Event.CHAT, onChat);
      bot.on(Types.Event.CHAT_DELETE, onChatDelete);
      bot.on(Types.Event.GRAB, onGrab);
      bot.on(Types.Event.ROOM_PLAYLIST_QUEUE_UPDATE, onRoomPlaylistQueueUpdate);
      bot.on(Types.Event.USER_LEAVE, onUserLeave);
      bot.on(Types.Event.USER_JOIN, onUserJoin);
      bot.on(Types.Event.VOTE, onVote);
  
      globalObject.roomState.findUserInRoomById = function(userID) {
          return _findUser(globalObject.roomState.usersInRoom, userID);
      };
  
      globalObject.roomState.findPlaysForContentId = function(contentID) {
          var plays = [];
          for (var i = 0; i < globalObject.roomState.playHistory.length; i++) {
              var play = globalObject.roomState.playHistory[i];
              if (play.media.contentID === contentID) {
                  plays.push(play);
              }
          }
  
          return plays;
      }
  
      populateUsers(globalObject, onComplete);
  }