Refactor listener into separate class
Block on send
Oops, forgot TCP listener