Exposing undo task classes from the paint tools
Abstracting away the bucket paint tool and the underlying operation method