Host Overrides in Foreman

Hey all!

The changes to fqdn in Foreman 1.8.0, and a side effect of the issues I ran
into as part of Bug #10403: Smart Class Parameter Overrides using the FQDN fact as a match no longer applies the override - Foreman, made me begin
to consider how matchers on host level overrides are being handled;
especially since a host can have multiple nics with varying names.
Currently overriding a parameter on a host level creates the match value
pair of:
fqdn="", value="some value"

With the changes to fqdn in Foreman 1.8.0, I think that it makes more sense
for host level overrides to create the match based on either name or
certname as they are most intuitive to the action you are wanting to
perform. So you would then end up with 1 of the 2 match/value pairs.
name="nameinforeman", value="some value"
certname="hostcertname", value="some value"

You can currently do this from the Puppetclass level, but the default when
performing it on the host level is to assign the match/value pair to the
fqdn, which feels a little off now in 1.8.

I could also see this being useful for the Run Puppet button, where it uses
the name/certname instead of the fqdn as well.

What are you're thoughts on this? What would be some underlying
complications that I may be missing?