WIP: Refactor

This PR clarifies the roles of the two main defines, and sets a deprecation warning so we can totally remove the other define later on. 

This cleanly resolves the issues in PR #2