May want to enum stages for readability.