'Opens a new session and instantiates a new XMPP client.
Arguments:
jid -- The XMPP JID for logging in.
password -- The password for logging in.
callback -- An optional callback which can be used to track
the starting state of the session.'

@classmethod
def new_session(cls, jid, password, callback=None):

    client = sleekxmpp.ClientXMPP(jid, password)
    client.registerPlugin('xep_0004')
    client.registerPlugin('xep_0009')
    client.registerPlugin('xep_0030')
    client.registerPlugin('xep_0060')
    client.registerPlugin('xep_0199')
    return cls.new_session_with_client(client, callback)
