fix(cycles): patching objects should not create cycles

Since objects on services are patched and since those objects
might refer to objects that are already patched, this can
create cycles. Hence, an object should be checked to see if
it has already been patched.

Relates to #13