@Test
public void shouldPermitUsingCustomLogger() throws Exception {

  TestLogger logger = new TestLogger();
  loop =
      Mobius.loop(UPDATE, HANDLER)
          .init(First::first)
          .logger(logger)
          .eventRunner(ImmediateWorkRunner::new)
          .effectRunner(ImmediateWorkRunner::new)
          .startFrom(MY_MODEL);
  loop.dispatchEvent(7);
  assertThat(
      logger.history,
      contains(
          "before init: start",
          "after init: start, First{model=start, effects=[]}",
          "before update: start, 7",
          "after update: start, 7, Next{model=start7, effects=[false]}"));
}