We should also protect this method and the send method to verify that the websocket has been created for the underlying structure.  This might get complicated but we'll have to build a queuing system to execute any commands that were issues prior to the webSocket creation. 

There's no way around this because we need to create the WebSocket outside of the current thread context but there's the potential that another setTimeout was issued before ours and will then execute before ours requesting sends/closes etc.