Refactored compound field edit