Completely rewritten UI system, still lot more to do.