   - Poison as the json_module
   - claims: exp(now + 2 hours), iat(now), nbf(now - 100ms) and iss ("Joken")
   - validations for default :
-    - with_validation(:exp, &(&1 > get_current_time))
-    - with_validation(:iat, &(&1 < get_current_time))
-    - with_validation(:nbf, &(&1 < get_current_time))
+    - with_validation(:exp, &(&1 > current_time))
+    - with_validation(:iat, &(&1 < current_time))
+    - with_validation(:nbf, &(&1 < current_time))
   """
   @spec token() :: Token.t
   def token() do

  """
  @spec with_iat(Token.t) :: Token.t
  def with_iat(token = %Token{claims: claims}) do
    %{ token | claims: Map.put(claims, :iat, get_current_time) }
  end
  @doc """
  Adds `:iat` claim with a given value.

  @doc """
  Helper function to get the current time
  """
  def current_time() do
    {mega, secs, _} = :os.timestamp()
    mega * 1000000 + secs
  end
