@Test
public void shouldSupportCreatingMultipleLoops() throws Exception {

  MobiusLoop.Factory<String, Integer, Boolean> factory = Mobius.loop(UPDATE, HANDLER);
  // one
  loop = factory.startFrom("first");
  loop.dispatchEvent(97);
  await().atMost(Duration.ofSeconds(1)).until(() -> loop.getMostRecentModel(), is("first97"));
  loop.dispose();
  // then another one
  loop = factory.startFrom("second");
  loop.dispatchEvent(97);
  await().atMost(Duration.ofSeconds(1)).until(() -> loop.getMostRecentModel(), is("second97"));
}