call descendant hooks in thunks