Some headers are getting way too hard to read because of all the inline code (e.g. World.hpp).
We could instead implement all the functions in a separate .inl file that is included at the bottom of the header file. This should make the code easier to read and document.
See also: https://stackoverflow.com/questions/1208028/significance-of-a-inl-file-in-c