Extract locking from main Cache class to LockManager and LockStoreInterface.
Extract ttl (time-to-live handling) to separate class.
phpdoc for cache()