- Behaviors vs. Protocols: https://www.djm.org.uk/posts/elixir-behaviours-vs-protocols-what-is-the-difference/
- "Storing" state in Elixir: http://dantswain.herokuapp.com/blog/2015/01/06/storing-state-in-elixir-with-processes/
- Erlang Term Storage: https://elixirschool.com/lessons/specifics/ets/