Migrate setting up the Socket listener to the app top-level
Make the children be transient rather than permanent and allow tracers to exit when user calls stop