Changed GetBestTarget to take an optional target list instead of required. Addressed each call to GetBestTarget appropriately depending on its location. Also removed the decission of targets from ClearPocket, here we will simply call GetBestTarget, as long as it returns true then we are not done clearing the pocket and will reset the timeout