class MobiusLoopViewModel extends ViewModel {

  @Nonnull
  public final LiveQueue<V> getViewEffects() {
    return viewEffectQueue;
  }

  protected  MobiusLoopViewModel(
      @Nonnull Function<Consumer<V>, MobiusLoop.Factory<M, E, F>> loopFactoryProvider,
      @Nonnull M modelToStartFrom,
      @Nonnull Init<M, F> init,
      @Nonnull WorkRunner mainLoopWorkRunner,
      int maxEffectQueueSize);

}