@senny But for that we would need to add if condition at every call site?

like: 
```ruby
options[:width], options[:height] = extract_width_and_height(size) if size = options.delete(:size)
```