add custom alert system, switch away from Yesod.Session.setMessage