Index updated to recursively walk through the model, and properly update with ModelEvents