Declaratively design state machines that compile to Elixir based :gen_statem processes with the StatesLanguage JSON specification