Biiiiig commit.  moving from C to C++.  I realized I was effectively writing primitive C++ classes.  A C backport will likely occur in the future, after the feature set has been finalized.