Refactor Payment Domain and Unify Paradigms

Not a whole lot of communication on this yet, but this is coming down the pipeline. Closing out some existing issues and referencing them back to this one.

This should eventually be a larger pull request with more documentation as to what we are actually planning here.