Apologies, I couldn't reopen the other issue (#11) for some reason:
Looks like the culprit is this:
$scope.$on('$destroy', function () {
flash.clean();
});
When you have multiple flashes, the destruction of any one of their scopes causes all flashes to be unsubscribed, I think...