State callbacks
can_event?(%{event: List.t, model: Map.t, column: atom}) :: true | false
is_state?(%{event: List.t, state: String.t, column: atom}) :: true | false
next_state(%{events: List.t, model: Map.t, states: List.t, initial: String.t, column: atom}) :: term | %{valid: false}
state_with_initial(String.t, %{states: List.t, initial: String.t}) :: String.t | String.t
update(%{event: List.t, model: Map.t, states: List.t, initial: String.t, column: atom}) :: term | %{valid: false}
update!(%{repo: Ecto.Repo, event: List.t, model: Map.t, states: List.t, initial: String.t, column: atom}) :: term | {:error, term}