added: use of ActiveSupport callbacks