Move the ui logic into the session rather than in the driver