[ ] Don't make models call other models. e.g., the task that calls User::checkActivityFor(), or the Food::created code.
[ ] Use domain model events where appropriate. e.g., have an onFoodCreated event, and have a listener class for Food events, that finds the correct food type and day, and makes the correct db changes. In that class, consider wrapping all the food and day-related persistence in transaction.
[ ] Make the current FoodTypes hierarchy a default, that users can configure
Http
Models