My concerns are
* `$scope.hide` is already called with a timeout
* reading `transition-duration` adds a pretty tight coupling to CSS, which I'd like to avoid.

I think the main issue is that `$scope.flash = {}` removes the flash message before the css transition completes.  Rather than add another timeout, I think we should remove `$scope.flash = {}`.