internal void AcceptEnrolmentFor(Student student)
{
if (IsEnrolled(student)) throw new InvalidOperationException("Student is already enrolled.");
StudentSubjectEnrolments.Add(new StudentSubjectEnrolment
{
Student = student,
Subject = this,
});
DomainEvents.Raise(new StudentEnrolledInSubjectEvent(student, this));
}