Improve behavior of text field updates, but not entirely

Still need to fix behavior of copy/paste and undo.