Publishing logic for ActiveRecord models