I think that's a reasonable approach, but you should also provide an `is.no_output` helper function (probably with a better name), rather than embedding an inherits test directly in the code.  (Otherwise you've split the definition of the class/singleton into two places)