Generator Pattern example for component abstraction.