- cache retrieved attributes
- accept classes as arguments for factories.getObject