tomd: extract superclass for convenience methods to make the implementation class cleaner and more focused