Refactored annotation config to use a list of atoms specifying keys.
Fixed type specs
Updated docs to the new reality
Removed user logging. This should be annotated instead.