[WIP][DO NOT MERGE] Dialog component

:+1: