Better abstraction of simulation algos into separate function hooks for subclasses to override (Hollywood Principle)