http://zeropage.org/~erunc0/study/java/mvc_model/swing_mvc_model.html