So were planning for both websocket messages and http requests to be of the same message format and use the same registry_event handlers? If this is the case Request Handlers still have an __init__ function where registration can occur.  As far not registering all the possible handlers I agree this could be a possible efficieny issue if the event_handler has significant code in the __init__ method. I'd like to get this change in so I can get the collab edit working on the server. Then I agree we should spend effort coming up with a lazy initialization schema. This could consist of an base event handler that is registered by default. This event handler would take initialization messages from the client say someone typing in the box in collab edit.  This event handler would then register other needed event handlers.