Im a bit confused as to how I should be thinking of my domain aggregate roots. Basically they seem to me as a public api for the client to use which hides the implementation