Delegates suppressing send to closed clients to client module

The client instance should always be responsible for suppressing a request to send over WS transport when closed. Currently, it the client is closed by middleware, a message can still be attempted. With no application error handling, this can crash the whole process.