abstract session factory
updated object model
interval can be also a number of seconds
added hydrator
refactoring: moved session creation logic to factory