Added SessionFactory for OO delegation instead of requiring to subclass the SessionManager implementation. Also added some JavaDoc