object state machin object handl todo auto gener method stub implement except 