What about a module system?
You install #Mastodon "base" with the possibility to install a list of add-ons/modules/integrations:
- gifs module
- bridges modules (you don't want to federate with x proto, you don't)
- bots modules
- encrypted chat module
- mail server module (your username@mastodon.server would be an email)
- etc...
And allow developers to develop modules *without* having to understand how the Mastodom codebase works or touch it.
@retiolus @activitypubblueskybridge this sounds like Streams.