Fix typo
Apply extract method refactoring
Apply Extract Class
Apply move method to deal with Feature Envy
Apply Hide Delegate
Handle is_debit case