refactor some checkout module methods

Fixes #3943