An application is an instance of annotator.App. It is the primary object that coordinates annotation activities. It can be extended by passing a module reference to its include() method. Typically, you will create at least one application when using Annotator. See the API documentation for annotator.App for details on construction and methods.
A function that handles work delegated to a module by the application. A hook function can return a value or a Promise. The arguments to hook functions can vary. See Module hooks for a description of the core hooks provided by Annotator.
A module extends the functionality of an application, primarily through hook functions. See the section Module development for details about writing modules.
An object used for deferred and asynchronous computations. See for more information.