messin with the Command design pattern done with elixir