Hey @tastycode, this is an almost perfect idea. The only problem we have is: `PaymentEngine` [is not](https://github.com/neighborly/neighborly/blob/8dda8c4f1d7d071fe476970d3bd7a5192036cfda/lib/payment_engine.rb) an ActiveRecord model. Having the structure of payment engines like this gives us constant headaches, then a refactory is really welcome. I will open an issue to talk about this separately.