Version-based load
Currently, load()
methods simply load data, which creates trouble when the latest implementation wants to load an older version instance. Each class should have a version property and load()
methods should have the ability to update each version (or at least important versions).