When running with preconditions, you get a precondition violation in `not_in_loop' tag from {EDITABLE_TEXT}.remove_observer. I've added a protection in {EB_EDITOR_COMMAND_CONTROLLER}.set_current_editor to not set the `current_editor' if it is the same and then everything works fine. I haven't committed anything because I'm not sure if this is the right thing and I haven't carefully looked at the previous commits to see why it is now showing up.