public GuardedTransform(Transform <T> transform, CanApplyTransformSpecification guard)
 {
     Transform = transform;
     Guard     = guard;
 }
 public void AddTransform(Transform <T> transform, CanApplyTransformSpecification guard = null)
 {
     guard = guard ?? new AlwaysApplyTransformSpecification();
     _transformsToApply.Add(new GuardedTransform <T>(transform, guard));
 }