should this be wrapped in a if(_strokeColor != strokeColor) so that createButtonStates is not called for changeless calls?