changed interface to a single function
allow going back to insert mode
updated test
added access to stream that provides change events
changed version
assign to member controller instead of local
only send event if text changed
fixed value of newText in overwrite events