public static RunState Begin(Container container)
{
if (container == null)
throw new ArgumentNullException ("container");
var rs = new RunState (container);
Init (false);
Curses.timeout (-1);
toplevels.Add (container);
container.Prepare ();
container.SizeChanged ();
container.FocusFirst ();
Redraw (container);
container.PositionCursor ();
Curses.refresh ();
return rs;
}