     Observer.configure(pid, [{Take, 0}, {NoopPlugin, {"file:///", bmf}}])
     :ok = Observer.run(pid)
 
-    wait_for fn -> length(TestListener.get(listener)) >= 2 end
+    wait_for fn -> length(TestListener.get(listener)) >= 3 end
 
     l = TestListener.get(listener)
-    assert length(l) == 2
-    assert [{_, :start_observer, _}, {_, :stopped_observer, _}] = l
+    assert length(l) == 3
+    assert [{_, :start_observer, _}, {_, :exec_observer, _}, {_, :stopped_observer, _}] = l
   end
 
   @tag timeout: 1_000


    wait_for fn -> length(TestListener.get(listener)) >= 2 end

    l = TestListener.get(listener)
    assert length(l) == 2
    assert [{_, :start_observer, _}, {_, :execute, _}] = l
  end



    Observer.configure(pid, FailPlugin, :ok)
    :ok = Observer.run(pid)

    wait_for fn -> length(TestListener.get(listener)) >= 3 end

    l = TestListener.get(listener)
    assert length(l) == 3
    assert [{_, :start_observer, _}, {_, :exec_observer, _},
        {_, :failed_observer, _}] = l

    # It should really die, otherwise it's not implemented as it should
    Logger.debug "Test Observer"
