Engine wide refactor