the GUI now works in states which are just constants