[WIP][DO NOT MERGE] Dialog component

Just realised that line of code I suggested wouldn't work - but you get the gist ;)