Naming convention: Interfaces prefixed with capital "i", all other including annotations do not have a prefix.