switch from BaseHasUuid superclass to HasUuid protocol