Small thing: since `styleForButton:` always returns a non-nil value (a default style in the event a custom style hasn't been added), a better name for `styleExistsForButton:` might be something like `customStyleExistsForButton:`. In my mind, a style always exists for a button since you're returning a default style. But a custom style might not exist.