Fixed redundant repaint if a property other than content is updated
Added painters module to help create repaint method