Refactored a bit, added Cookable.