Extract out Tracker and replace it with a slightly less stupid implementation.
decorators for tests