Refactor, introduce expression factory instead of a public constructor for expressions.