added methods to enable/disable defined observer events. related #330
make sure the before_save observer is called before checking the diff; closes #330