WIP: Migrated component dialog to OCaml