add TrackerComponentCollection class
make TrackerComponent an interface and instead create
DefaultTrackerComponent being a default implementation
more work on TrackerComponent(s)