Track changes to options more deeply

Traverses array members looking for changes