Design pattern implementation