apply state pattern
Merge branch 'floating-ui' of https://github.com/eternnoir/ToS_Bot into floating-ui