Privatised listener and sender and added a few docs