Tidied up patterns
Ensured redraw on correct thread

Cleaned up patterns
Remove unnecessary mutable