Feature/state transition machine

`Tax`