Is the extra class needed at present, @ctweney ? I don't immediately spot a reason why some future multiple-source model which is not attached to a particular user (course catalog type stuff) wouldn't also just subclass AbstractModel directly.