Ideally we'd have a dummy window wrapper around this so that we needn't include the GUIKeyboardFactory here.

For now this is OK though.