add "state" mixin
v0.8.0