Payment class refactored