I appreciate the sentiment -- but it shouldn't be necessary to encapsulate, since the set of sub-classes is fixed.