Restructure Recipe class
Update unit tests