What I want to achieve is to have a field, that depending on whether it's set editable or not, is displayed using TextField or FieldLabel respectively.
My approach is pretty straightforward: class that extends LayoutContainer, contains both label and text fields, and exchanges them appropriately. After each switch LC.layout() is called obviously.
It behaves differently as I would have expected. If set to editable (i.e. using TextField), input field is displayed, field's label is not displayed, DOM contains just input field. If set to FieldLabel, nothing is displayed, DOM contains just the LC and nothing inside it.