Arrow Annotations - drawing arrows on the board
Training Annotations - hiding the remainder of a game and displaying a question and presenting hints and answers.
Hyperlink Annotations - linking to external documents like HTML, PDF, JPEG, whatever and display those items
Source Annotation - Inject the source of a game into a PGN file ("Import List" in Chessbase)
All this requires a three step implementation:
1) Specification of the annotations as they are non-standard
2) Extending the PGN parser
3) Extending the GUI