bindings and commands are now separate + a way to establish custom bindings for custom states (WIP)