Abstract design pattern background