CacheableMutationWithInput
class CacheableMutationWithInput<TInput : CacheableInput.MutationInput, TData, TError : Throwable>(launchMutation: suspend (input: TInput) -> TData?, cache: OnHandCache, dispatcher: CoroutineDispatcher = Dispatchers.Default, dependentActions: List<suspend (mutationData: TData) -> Unit> = emptyList())