Abstract pattern for design