Made many things public so SelectFunc is actually usable by others

Definitely, need to add higher level methods for other packages to
use. May rehide some of these interfaces at that point.