removed getState()/setState(), added getter/setter