Wrapped module with an IIFE to remove methods form the global scope
sessionDeferred always resolved with the original session, which caused issues on reconnect, not it always uses the current connection's session
Bumped version