In what situation could `hasData` not exist? We define it when `connect` is called.