cleanup: physics moved to separate class