Updated for Elixir 0.14 to use Structs instead of Records.