Refactored payment system.