Description
If you do a watch on a cbc, then you sometimes see it flapping from Available to Creating and back again. The root cause of this is we do a write to k8s (generation N) and k8s gives us back an old version on the next read (generation N-1). This means we have an old status on the next run, if we do a write then it will revert anything in generation N for each commit until we put it back right again.
Track the generation and only accept anything >= to the last one we've been initialized with or we've updated ourselves.
Also I'm seeing way too many status updates as a result of DeepEqual being crap, do a diff and look for real differences. I should just write my own that works as we need it to...