       Note: This function is overridable
       """
       @spec page_paths(Map.t) :: [Tuple.t]
-      def page_paths(%{talon: talon} = _talon) do
-        talon.page_names()
-        |> Enum.map(&{Talon.Utils.titleize(&1),  "/talon/pages/#{&1}"})
+      def page_paths(%{talon: talon} = _talon) do  # TODO: move to concern and use this approach for resource_paths (DJS)
+        talon.pages |> Enum.map(&{apply(&1, :title, []),  "/talon/pages/#{apply(&1, :name, [])}"})
       end
 
       @doc """

    quote do
      @__context__ unquote(context) || (Module.split(__MODULE__) |> hd |> Module.concat(nil))

      @spec index_card_title() :: String.t
      def index_card_title do
        "#{Module.split(__MODULE__) |> List.last}"
      end

      @doc """
      Returns a list of links for each of the Talon managed pages.

      @spec context() :: atom
      def context, do: @__context__

      @spec title() :: String.t
      def title, do: name() |> Talon.Utils.titleize

      # TODO: perhaps resource_name, module_name
      @spec name() :: String.t
      def name, do: __MODULE__ |> Module.split |> List.last() |> to_string |> Inflex.underscore

      defoverridable [
        context: 0, resource_paths: 1, page_paths: 1, index_card_title: 0, title: 0, name: 0
      ]
    end
  end
