Let's break this recipe into a few core pieces—imports, initialization (init), model method, and helper functions. This will help to articulate what each of the functions is doing and ensure that we highlight the key points for each model's structure.