gui: move models and views into dedicated files