I see what you're saying. At least with the config file, there's a way to set defaults without having to set $features in the view. Since it's the config file I'm most interested in destroying, we can replace configuration with convention: declaring controller $helpers with desired defaults (including none) and handling in a constructor will do this quite nicely. I'll take a shot at it.

I still feel exposing $features is useful for setting features in the view, because primarily the helper is affecting the view without any dependence on application logic. This isn't incompatible with setting defaults upon instantiation in the constructor. (For example my own use case is adding the helper in AppController and using it on potentially dozens of static pages with different types of source code.)

Feel free to comment, and cancel the pull request. I think I like your suggestion and will take a stab at that.