[AVM] Implemented a session interface with a start_session function and done some restructuring. (See #1)