I meant to say, the constructor should take Optional<SimpleDomain> as a parameter, not just store it internally in that form