Refactoring of reasoner classes