Add LogicMatchers static factory and simplify ctor for impls