a daring new approach.  steps have been taken to move toward the TODO list items of making the code support callbacks, and making it more ::Class-like in the way it accepts arguments.  Modularizing it out into separate modules the way I have just done is the first step in making those things happen