separate out tracker to its own class
extract out the notifier too