object build state machin object context todo auto gener method stub implement except 