protected virtual void Track(Burden burden, IReleasePolicy releasePolicy)
		{
			if (burden.RequiresPolicyRelease)
			{
				releasePolicy.Track(burden.Instance, burden);
			}
		}
		protected virtual void Track(Burden burden, IReleasePolicy releasePolicy)
		{
			if(burden.RequiresPolicyRelease)
			{
				releasePolicy.Track(burden.Instance, burden);
			}
		}
		protected override void Track(Burden burden, IReleasePolicy releasePolicy)
		{
			var track = burden.RequiresPolicyRelease;
			burden.RequiresPolicyRelease = false;
			if (track)
			{
				releasePolicy.Track(burden.Instance, burden);
			}
		}
		protected override void Track(Burden burden, IReleasePolicy releasePolicy)
		{
			burden.RequiresDecommission = true;
			releasePolicy.Track(burden.Instance, burden);
		}
 protected override void Track(Burden burden, IReleasePolicy releasePolicy)
 {
     burden.RequiresDecommission = true;
     releasePolicy.Track(burden.Instance, burden);
 }