feat(cache): Move cache out of core, add a CacheRegister

`Map` -> `Cache` on l. 19 - GH don't let me comment there :(