so we always assume that `@hook` is called after launcher is registered.