Implementing a generic editable component.