slack notification

it would be better to use model callbacks (`after_save`, `after_update`, etc.)