Persistent messaging framework for CiviCRM