object build submachin state object composit state todo auto gener method stub implement except 