working as both server side listener and client initiator (or server initiator, it's all groovy)