Instead of taking 4 parameters, perhaps this can just take in `payload`, similar to how `insertPull` just takes in an object?