WIP: Set uid during object create

Still need to add some unit tests.

There is a lot of repetitive code around the following:

```
	if len(controller.Name) == 0 {
		controller.Name = util.NewUUID().String()
	}
```

my bias is to also move this type of thing into this new utility.

is there a reason why we would have an object that would not support auto-assignment of name?