Similarly with this.  Your setting UAVO isn't that big - just store it in the task context and only get it when it updates.  Using lots of these field gets is actually quite inefficient as you are repeatedly grabbing the UAVO semaphore