Down to instance

Placing here for tracking and personal approval of this change.

# Description

I've grown to hate class level operations because they encourage either:

* Dangerous "global" memory access
  - Affects thread safety
* Functional programming

This PR will bring the bulk of the functionality into proper objects where the important public functionality can be accessed through higher-level methods.