[#63] Rewritten session controller to use exceptions