These centralise the knowledge and behaviour of these enums into a clear location, so that other classes don't have to deal with that every time. Fixes #47.
Fixes #48.