in the Domain Driven Design project structure I call this "Application"
gets and stores state, and explains what actions to take, but not how the actions work
possibly related to functional programming