@SafeVarargs
  private static <U extends AbstractElement.Update, T extends AbstractElement<?, U>> void install(
      Inventory inventory,
      Set<Subscription> subscriptions,
      Class<T> entityClass,
      MessageSender sender,
      Action<?, T>... additionalActions) {

    installAction(inventory, subscriptions, entityClass, sender, Action.created());
    installAction(inventory, subscriptions, entityClass, sender, Action.updated());
    installAction(inventory, subscriptions, entityClass, sender, Action.deleted());
    for (Action<?, T> a : additionalActions) {
      installAction(inventory, subscriptions, entityClass, sender, a);
    }
  }