Ah, too long commit. I've totally forgot that that factory is used inside `NodeElement::find` method. Then all is correct.

Also having 4 constructor (or any method by the way) parameters seems too much. Maybe it's the price of decoupling to have many dependencies/parameters in constructor.