Sometimes a lazy class is present to communicate intent. You may have to balance communication versus simplicity.
Exercise 33 Swing Libraries. (Challenging).
The Swing Libraries have a pattern:
The AbstractXModel is the only implementation of the interface, and the DefaultXModel is the only subclass of the AbstractXModel. (Typically the abstract model has the notification handling built in, but it may support other things.)
What advantages are there in having the model be an interface, separate from the AbstractXModel class?
Why is this not an example of a Lazy Class?
Should you adopt this three-class structure for your object structure?