...this involves adding a Curve class, and significant refactoring to make this possible in a clean way.
...this should leave the lib folder a little bit less cluttered.