The classes in here no one should ever implement, as I would think all this
information could be defined in a more declarative way: either via a simple interface
implementation where returning specific flags enables a set of settings
or a table or some external xml-like file.