Another idea that feels cleaner: can we extract all the "#new" part that is in MessageManager's onHashChange and call that instead ? I'd say we could even directly pass the activity object instead of setting it in as a property of MessageManager... which always felt ugly to me.