All arguments above are good ones, but I would still recommend to interject a supervisor for all WebSocketActorSupervisors: with the current scheme it is completely opaque to users which function an actor has given that all of them have random names. Instead of handing back `Props` or passing around `ActorContext` (which is not an option as Patrik explains), I would recommend

    Actors.websocket ! Props(...)

where the target has name `"websockets"`. This would also not change anything about the lifecycle of the involved actors.