Returns the target based on the folowing logic:
If target is supplied - as object - return it
If target is supplied - as string - find a target (object) and return it
If target is not supplied - get the parent object

