Renaming GlobalState to AbstractGlobalState and changing the interfaces