Fixed hashCode implementations and added support for persisting courses.