Refactor cookbook to be a lot cleaner.

This is a major refactor and strips some functionality that I'll end up
reintroducing later. @hw-cookbooks will likely not want to merge this
until I have all of that jazz finished.