Added cache.py to allow the use of lazy cache in modules