Abstracted out to a generic dynamics simulator abstract base class