new dialogue class

should be overlaid on top of screen when used, rather than erase the
entire screen