Look, at it, I made it refactoring based on payment-repository. It compiles at least, because last code did not compile, just need now to figure out last steps to make it work.
Alex made update to payment-repository. So he might stumbled upon some problems related code in there that could directly be fixed in here, because the refactoring is based on that repo.