changed 'error' and 'return' socket.io callback names to 'reject' and 'resolve' to be more semantically correct and to not interfere with socket.io internal error callbacks