The issue is with the original implementation as it overrides create and create! methods. If I reset "readonly" flag in those, then the semantics of the call would allow to overwrite "default" attribute at any time.

I can keep Setting.set method around though -- this way way the old code would *mostly* work, with the exception of updating of "default" attribute on startup.

As a side note, I think we should switch to migrations for updating of default values of settings -- the current approach results in a hacky workaround (among other things).