What elements does each app have in common? Identify them and develop a common database and code for those things. This will be, perhaps, not a simple thing, but every app has a login process, identity and authentication tables, they all have an installation process, they all have some type of skin. These are common elements, peripherals though, outside of app-critical, but each will be structured differently. Redevelop so all use the same common elements - not simple, but not impossible. Keep the app-critical code, just change the peripherals.
And, for me, it is this that will make all these products desirable acquisitions, what other product offers this kind of flexibility, apart from Google? That is, I suspect, what they have done, built a product, then built another using the existing elements they both require and so on until you have an entire, fully integrated, system made up of whatever tools you want to use. Add a Chromebook and the rest of us are in trouble. Want to use a different app, no problem, click on it to access it. Want to create a new tool, you do not have to spend time creating a login process, a skin process, id and authentication processes, they are already there, just develop the app-critical code and plug in the other bits or plug it into the other bits, either way. That is what Moodle could do, if MD thinks it necessary, and I would suggest it is now.