Introduce Hook.isAvailable and Hook.to