What if Facets::Facet implemented as_elastic like this?
```ruby
def as_elastic
  {name => as_elastic_facet}
end
```
And then inheriting facets implement ```as_elastic_facet```.