Added "painter" abstraction.