public override void SetValue(object newValue)
{
if (!(newValue is IProxyObject))
{
Context.SetAttribute(_name, newValue);
var disposable = newValue as IDisposable;
if (disposable != null)
{
StepSynchronizationManager.GetContext().RegisterDestructionCallback(_name, new Task(() =>
{
disposable.Dispose();
}));
}
}
}