Added the cache decorator - everything seems to be working as intended. I need to write some unit tests for it.