extra platform connect takes a block where session file can be set
setting WindowState and Visible on the Session
refactored to abstract opening a session
extracted close_all_sessions method
added a few more tests