Provide per-phase/type requirements (#10)

This required quite a bit of refactoring of the test file, unfortunately, but everything seems to work swimmingly.