Refactor object collections into a class for better iteration
Refine version inheritance
Use autoload instead of require for referenced constants