implement changes from @aldeed to insert update remove hooks so that the callback is read at the tail of the arguments list instead of at a specific index