Generified Domain trait and modified how saved Domain objects are versioned.