Start implementing new function caching decorator