refactor brush implementation when set externally - programmatically as opposed to manual brushing
various minor details