Use default_options method instead of ivar in setter

This allows setting default_options before default_options is called.
There's no tests, becasue right now default_options leaves a
side-effect, so I cannot reliably bring it to the initial state.

Closes #5