public static WorkspaceViewModel Create(ILifetimeScope scope, IZetboxContext ctx)
{
if (scope == null) throw new ArgumentNullException("scope");
if (ctx == null) throw new ArgumentNullException("ctx");
var vmf = scope.Resolve<IViewModelFactory>();
var ws = vmf.CreateViewModel<ObjectEditor.WorkspaceViewModel.Factory>().Invoke(ctx, null);
ws.Closed += (s, e) => scope.Dispose();
return ws;
}