Attempt to detect circular dependencies in operations

redux of: https://github.com/mindsnacks/Zinc-ObjC/pull/69