extracted ContainerControl; introduced Dialog; slimmed down Canvas