Callbacks now passed in to the function