Added proper cooker hashing and caching.

Hashing and caching is my new rap name now.