Cake 2.0

Crossing my fingers that I can incorporate some/all of these great changes from @sams into my repo.