First commit. UI unfinished, untested Emulator.