Split persisting and creating
Tell, don't ask about persistence and validity