There's actually something silly happening here anyway. How about this?

```ruby
def db(name = nil, opts = {})
  DB.new(name || @db_name || DEFAULT_DB_NAME, self, opts)
end
```

We can standardize on `db_name` everywhere where we currently use `default_db`. That value is actually not really the 'default' db anyway and we're mixing ducks and alligators here. I think it makes sense to differentiate between this and the default (`DEFAULT_DB_NAME`) and not set `@db_name` to the default in initialize.