remove PaymentsEngine class and implement that logic in the domain objects