Add dirty tracking for nested objects