The "GroundDetector" is a passive component, that does not do anything until Gravity calls startGroundDetection / stopGroundDetection. This also means that it is backward compatible, because the user does not know anything about "GroundDetector"; he uses "Gravity" just like before.