Alter tracking logic so it's agnostic to how developers call their routing functions

Ideally we shouldn't care if the user calls routing functions directly or calls router.navigate({ trigger: true });