`?` means that the user is not required to add the ga-active-topic attribute to the element. And if the attribute is not present changes to the isolate scope's activeTopic won't be propagated outside the directive (to the the directive's parent scope). I think the `?` makes sense in that case, because the application may rely on the gaTopicChange event and not need state changes on the scope.