Refactoring: unified defaults handling