Factored out the HermiT reasoner factory and added appropriate tests