WIP first pass in refactoring Recipe to take **attrs