Also I think a thing should be consistent with the command storage code below. Change to `modeStorage = @storage[@mode] ?= {}` and `modes[@mode]?.onEnter(@, modeStorage, args)`