Ive figured this out.
You can treat a dependent like a select type. In the form fields method, if $values is set, get the values for field D and set using the 'options' attribute.
This also auto populates field D.
Thank you Knight Yoshi,
We are working on an idea where we create custom fields that contain opening and closing divs, so we can contain the true fields. I will let you know how it goes.
Andy