Been daydreaming about a modular ActivityPub implementation. Each instance could decide which service types to offer, and each account could decide which to use. Accounts are held at the TLD level, services on subdomains.
So maybe foo.bar offers micro.foo.bar, photo.foo.bar and checkin.foo.bar. You have a foo.bar account, but only connect to micro.foo.bar and photo.foo.bar. And I only follow you on photo.foo.bar.
Don't know how feasible that is with AP.
That maybe seems a little complicated from a UX perspective, but I think it could be made relatively seamless. There could be a standard post form, and the service/subdomain you're using changes depending on what options you invoke. Clicking "add image," for example, switches you over to photo.foo.bar. But the option to add image only shows up on your form if you connected to the photo service. Which would be a relatively straightfoward toggle in your account settings — if foo.bar offers photo.