Issue with 'delete' reserved word in IE8

There is an issue with using 'delete' for object property names in IE8. It will throw an error saying 'Expected Identifier'.

I made some changes to make any object 'delete' properties use the bracket notation instead of dot notation as that will take care of the issue for the time being.

I would suggest maybe change the property names to something other than delete going forward though, as it is not very pleasant to have to write socket['delete']. Maybe 'remove' as a property name would be better?