lib/runtime/server.ex

defmodule Pfaker.Runtime.Server do

  @type t :: pid()

  @server __MODULE__

  use Agent

  alias Pfaker.Impl.WordList

  def start_link(_) do
    Agent.start_link(&WordList.word_list/0, name: @server)
  end

  def random_word() do
    Agent.get(@server, &WordList.random_word/1)
  end
end