I feel like for these complex problems, it's basically impossible to design a framework de novo. And people try this all the time, but it very rarely works. Instead, what happens is you have an application that works well, and then basically you copy and paste that two or three times, and then you look at the diffs, and the things that aren't the d... See more