So one hook reporting `formula_has_bottle? # => true` could result in another hook's `pour_formula_bottle` method being called? Maybe I haven't followed this closely enough but it still feels a bit weird. I'd more expect to have something like

```ruby
Homebrew::Hooks::Bottles.each do |hook|
  return if hook.formula_has_bottle(f) && hook.pour_formula_bottle(f)
end
```