I'd prefer to have `download_links` as its own method here, something like:

```ruby
# inside build
if @download_links.is_a?(Proc)
  singleton_class.class_eval { define_method(:__download_links__, &@download_links) }
else
  singleton_class.class_eval { define_method(:__download_links__) { @download_links } }
end

# modify the build_download_format_links helper to accept true, false, or an array of formats
build_download_format_links(__download_links__)
```

Or would that be a bad idea?