Just copy the passed callback structs so the user doesn't have to keep it allocated