new notification api, closes #157