Refactor and prepare for notification support

This PR does not add notifications, but preps for it by raniming some functions and vars, fixing comments, and handling how we move data around a little better.