All of these can be defined just in annotations.  Also, get rid of the TODOs