refactored into separate classes for tracking, graphing and sensor "hosting"