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

Apparently it should be `Map` (judging by Interpolate code) - what is the purpose of `Cache` then ?