They to differ in a single operation: ```SingleAssignmentSubscription``` prevents assigning a second subscription, but beyond that it behaves the same.

If the "is a" is more important than the code reuse through inheritance, then I can restructure the class hierarchy by extracting the MultipleAssignmentSubscritpion into a base class and let everyone inherit from it.