You should have used pseudo-object wrappers around the objects and then added custom methods/properties to the objects to increase the efficiency. But whatever works, I guess :P