BaseTracker so we can abstract some functionality