Kill the field_name option, and pass is_scoped / is_column to builders instead. Kill also detection of field presence in model, as if you write an invalid filter, that'll be catched anyway when you try to use it.
Make the tristate boolean use radio buttons. Introduce also sucky Helpers, that'll be factored differently soon