82c4772e89
Another refactoring in preparation of using a richer requirements type. No functional changes, only moves code around