 
   end
 
-  @spec lookup(Context.t, Sequence | Regimen, integer) :: Sequence.t | Regimen.t | no_return
+  # Enumeration is complete.
+  defp start_events(_context, [], _now), do: :ok
+
+  # Enumerate the events to be started.
+  defp start_events(%Context{} = context, [event | rest], now) do
+    # Spawn to be non blocking here. Maybe link to this process? i don't know.
+    spawn fn() -> execute_event(event, context, now) end
+    # Continue enumeration.
+    start_events(context, rest, now)
+  end
+
+  # Don't know why i did this.
+  defp get_now, do: Timex.now()
+
+  # is then more than 1 minute in the past?
+  defp is_too_old?(now, then) do
+    blah = fn(dt) -> "#{dt.hour}:#{dt.minute}:#{dt.second}" end
+    seconds = DateTime.to_unix(now, :second) - DateTime.to_unix(then, :second)
+    c = seconds > 60 # not in MS here
+    debug_log "is checking #{blah.(now)} - #{blah.(then)} = #{seconds} seconds ago. is_too_old? => #{c}"
+    c
+  end
+
   defp lookup(%Context{} = ctx, module, sr_id) do
     item = Database.get_by_id(ctx, module, sr_id)
     unless item do
       raise "Could not find #{inspect module} by id: #{sr_id}"
     end
-
-    item.body
+    item.body || raise "#{module} #{sr_id} has no body."
   end
 end

    end
  end

  defp maybe_start_sequence(_started? = false, _fin, _farm_event, last_time, event, _now) do
    debug_log "#{inspect event} is not started yet."
    {nil, last_time}
  end

  defp maybe_start_sequence(_started?, _finished? = true, _farm_event, last_time, event, _now) do
    debug_log "#{inspect event} is finished."
    {nil, last_time}
  end

  defp should_run_sequence?(calendar, last_time, now)

  # if there is no last time, check if time is passed now within 60 seconds.

    {nil, last_time}
  end

  # signals the start of a sequence based on the described logic.
  defp maybe_start_sequence(started?, finished?, farm_event, last_time, event, now)

  # We only want to check if the sequence is started, and not finished.
  defp maybe_start_sequence(_started? = true, _finished? = false, farm_event, last_time, event, now) do
    {run?, next_time} = should_run_sequence?(farm_event.calendar, last_time, now)
    case run? do
