Performance: add an object cache
Add a class / facade to abstract existing object's cache - i.e. memcache, apc, etc. with the usual functions add, update, remove, clear cache, etc, would be easier to have them static methods.
add config parameter to set up the cache to use
add a factory method to create the cache based on the config
add a few strategies
add several pools? i.e. a user cache in session and a systtem wide cache a la memcache?
start using it in perf bottleneck: for example system settings?
in factory method: if the object exist in the cache returns it from the cache, attach cache key to the object,
possibly overload magic method to avoid serializing the key
in update method: if the object is in the cache either clear the cache or update it, whatever works best.