Code is largely refactored into manageable chunks

Most of the simulation code is now split out.  Tuples are gone and
replaced with more logical types.