WIP
Protocol: make state type and state threading explicit
Tell module, working PoC
Fix rebase and remove tabs