changed ReliableSocket to take Socket as parameter instead of inheriting; added listeners and send/write