Move functionality to ProjectPhase rather than passing phases around