那個feature搞一搞越搞越大…

發明個domain specific language和一個state machine去跑它好像比較簡單和容易測