First pass of annotations support

Not yet fully ready to be used.