Refactored payment service to easily support adding more functionality