Using SQLAlchemy event system to listen changes, instead of hybrid_property
Merge remote-tracking branch 'origin/master' into product-sqla-events
Merge branch 'product-sqla-events'