Cache refactoring

 - pull $type back down into interface
 - remove delete() from interface
 - make get() async-capable