add state machine component