Abstract cache, now using callback for loading

Onwards to MySQL support!