Re-ordered logic, swapping update? with destroy? methods for clarity.