My experimental agent now listens to POSTs to a list of inboxes and outboxes and processes activities asynchronously as they arrive.

Next I plan to dynamically define the inboxes and outboxes.

The agent would be given access to a config, subscribe to the listed topics and connect them to the appropriate handler.
It would also set the public key on the named actor. e.g.

:myactor_inbox a :WebHookRegistration;
:topic </inbox/>;
:handler :InboxModified;
:actor </actor>.