Thank you Terence! Everything helps. I'll take you up on that offer of assistance and I appreciate it greatly. I'll look for places we can team up.
re: components ... I think it was Aleks who coached me into thinking of the codebase as a monolith, even with the optimistic separation of the code into modules. The logic is not evenly distributed, it's mostly useful as one big chunk (with the exception of fineract-client, perhaps?). At any rate, the modules roll up into a single gradle project with multiple gradle sub-projects and building everything is not really any harder than building an individual module. As far as module maintenance goes: I don't know, I've done very little of that lately. But in an IDE we're basically just working on the whole monolith at once, right? In terms of improving/simplifying the code as a way to improve everything (including releases), the fundamental action that would probably be the most helpful and also the hardest is culling cruft we don't need or use (starting with defining "we" and "need").
