This patch: - Puts public methods at the top of the file - Puts private methods below the public methods and marks them with an underscore - Adds JSDoc comments to the class - Adds setDocumentAndUrl to avoid having to handle that in `viewer.js`