     # for our current listener for `project`
     Utils.wait_for fn -> listener
       |> TestListener.get()
-      |> Enum.any?(fn {_, a, _} -> a == :stopped_observer end)
-      # |> Enum.any?(fn {_, a, _} -> a == :execute end)
+      # |> Enum.any?(fn {_, a, _} -> a == :stopped_observer end)
+      |> Enum.filter(fn {w, _a, _} -> w == :worker end)
+      |> Enum.count()
+      >= 3
     end
     {testl, rubbish} = listener
     |> TestListener.get()

    Logger.info "Start the Baumeister Application"
    :ok= Application.ensure_started(:baumeister)
    Utils.wait_for fn -> nil != Process.whereis(Baumeister.ObserverSupervisor) end

    # Drain the event queue of old events.
    Logger.info "Clear the event center"

  alias Baumeister.Observer.FailPlugin
  alias Baumeister.Observer.NoopPlugin
  alias Baumeister.Observer.Take
  alias Baumeister.EventCenter
  alias Baumeister.Worker

  alias Baumeister.Test.GitRepos
  alias Baumeister.Test.TestListener
  alias Baumeister.Test.Utils

  alias Experimental.GenStage

  require Logger
