Really should be in the objects themselves, but that might require semi-major refactors (aka not now)