Refactor requirement classes
Still more refactoring for the teachers' requirements