#6 - Rework init into three stages.