As in this article
https://jezenthomas.com/how-i-write-elm-applications/?utm_campaign=Elm%20Weekly&utm_medium=email&utm_source=Revue%20newsletter
This isn't really necessary for an app of this size, but it is just about worth it, and I think it is the best way of structuring large apps, so it would be good to get a feel for it