Move some methods off of the Interface and into standalone functions.

Methods that don't need to access the internal set datastructure can be
just as easily handled separately. And that keeps this interface
smaller, which is a Good Thing.