WIP: working on getting rid of has-handlers? and has-state?