Agreed on needing one place.

There is more we can do here though - specifically allowing for "custom" operations and thus dynamic handler loading based on class type(maybe?), maybe just configuration initially. Issue to come on this.