Refactored to schedule track end checks rather than constantly checking blindly every 100ms