VisualEditor/API

Use cases
Involves providing model and view classes, converter rules and possibly tools and inspectors for working with the content. Involves interacting with a surface fragment, which provides a wrapper around a surface, it's document and the current selection. Supported actions include getting information about the current selection, applying annotations to selected content, and modifying the structure of the document.
 * Adding support for a new kinds of content or annotations
 * Getting information about and making changes to the surface.

Interfaces

 * /Data Model/
 * Surface
 * Annotations
 * Nodes
 * /User Interface/
 * Toolbars
 * Inspectors
 * Nodes