lib/lexdee/observation_handler.ex
defmodule Lexdee.ObservationHandler do
@type error_reason :: binary() | atom()
@callback handle_event(observation :: Lexdee.Observation.t()) ::
{:ok, term} | :ok | {:error, error_reason} | :error
end