feat: add an EditableField directive #6