update lifecycle state machine and it usage