Aug 8, 2022
LOL, that's my second thought after the refactorings too, :)
Initially, I thought it was excellent, and then I felt it was a bit contrived (you can see some DSL-like things were emerging), but now I feel ok with it - because I know the new requirements are on their way, and this structure can help.
I think the language (like algorithmMap, roundupTotalFor etc.) needs some reframing, but overall I think the current structure is pretty good.