Added session support. uses this.session to store info about a user that persists between calls.