reworked the regex for parsing target names to use named captures to
make it simpler later on pick it apart. setup a trigger on the Target
object to parse the name to get all the bits we need