Each domain should have their own Exception hierarchy IMHO