New, django-like API for messages. #146