Patterns for encapsulating class trees