I don't know how the EntityNG conversions factor in to all of this, but as far as ConfigEntity goes, all of the "entity keys" (id/label/bundle/uuid) are public properties. They shouldn't be. We should work toward making them all protected.
This is just a first attempt. To see what happens.