Had a version conflict and had to do some interesting things to fix it.

But I got that fixed. New changes are many.
-Modified MainFrame to switch states. Look at ViewContactsState for how
the individual states look. To change a state, just call switchState
from MainFrame.
-Added the contact editing dialog and the contacts state. The current ui
on the contacts state is temporary.
-Added configuration editing dialog, though it does not do anything yet.