Created model method to handle existing cache-key generation

Cache key generation should be owned at the model level. Ideally any cache-delegation (delete / add / store ) should also be handled with post_safe hooks.