Initial work on Annotate API.

Currently debating making a centralised api or keeping it in each app. Discussion to continue