anchor.diff:  	%% TODO: Simplify this caret movement.
   	Caret1 = ee_caret:move_to(Caret0#ee_caret{col_no = ColNo + 4}, Buffer),
   	DocSet1 = DocSet0#ee_doc_set{focus_doc = FocusDoc#ee_doc_view{caret = Caret1}},
  -	State#state{doc_set = DocSet1};
  +	{ok, State#state{doc_set = DocSet1}};
   handle_key(#wxKey{type = char, keyCode = KeyCode}, #state{doc_set = DocSet0} = State) when KeyCode > 31, KeyCode < 256 ->
   	%% TODO: Refactor so that doc_set internals are hidden.
   	#ee_doc_set{focus_doc = #ee_doc_view{pid = DocPid, buffer = Buffer, caret = #ee_caret{col_no = ColNo} = Caret0} = FocusDoc} = DocSet0,
  
positive.code: 	%% TODO: Avoid changing caret directly. Waiting for #29.
  	Caret1 = Caret0#ee_caret{line_no = LineNo + 1, col_no = 1},
  	DocSet1 = DocSet0#ee_doc_set{focus_doc = FocusDoc#ee_doc_view{caret = Caret1}},
  	State#state{doc_set = DocSet1};
  handle_key(#wxKey{type = char, keyCode = ?WXK_BACK}, #state{doc_set = DocSet0} = State) ->
  	%% TODO: Refactor so that doc_set internals are hidden.
  	#ee_doc_set{focus_doc = #ee_doc_view{pid = DocPid, buffer = Buffer, caret = Caret}} = DocSet0,
  	ee_buffer_server:remove_left(DocPid, ee_caret:caret_to_buffer_coords(Caret, Buffer)),
  	{ok, DocSet1} = ee_doc_set:move_caret_left_in_focus_doc(DocSet0),
  	State#state{doc_set = DocSet1};
  handle_key(#wxKey{type = char, keyCode = ?WXK_DELETE}, #state{doc_set = DocSet} = State) ->
  	%% TODO: Refactor so that doc_set internals are hidden.
  	#ee_doc_set{focus_doc = #ee_doc_view{pid = DocPid, buffer = Buffer, caret = Caret}} = DocSet,
  	ee_buffer_server:remove_right(DocPid, ee_caret:caret_to_buffer_coords(Caret, Buffer)),
  	State;	
  handle_key(#wxKey{type = char, keyCode = ?WXK_TAB}, #state{doc_set = DocSet0} = State) ->
  	%% TODO: Refactor so that doc_set internals are hidden.
  	#ee_doc_set{focus_doc = #ee_doc_view{pid = DocPid, buffer = Buffer, caret = #ee_caret{col_no = ColNo} = Caret0} = FocusDoc} = DocSet0,
  
negative.code: 	wxFrame:show(Window),
  	wxFrame:maximize(Window),
  	#main_window{window = Window, status_bar = StatusBar}.
  
  handle_wx_event(WxMessage, WxEvent) ->
  	case gen_server:call(?MODULE, WxMessage) of
  		skip -> 
  			wxEvent:skip(WxEvent),
  			ok;
  		ok ->
  			ok
  	end.
  
  handle_paint(#wx{obj = Window}, _WxObject) ->
  	{Buffer, Caret, BlinkCaretState} = gen_server:call(?MODULE, {get_buffer}),
  