introduce payment service, refactor init payment to use payment service
Merge remote-tracking branch 'upstream/master' into payment_service
fix test implementation, would lead to deadlock
Merge branch 'master' into payment_service
Merge pull request #44 from wongak/payment_service

introduce payment service, refactor init payment to use payment service