For the 3rd part, there is no explicit concatenation of the target name. Instead the concatenation will be done based upon the anchor points assigned to the name tag.
Look at this part:
Code:
name:SetPoint("LEFT", hp, 2, 0)
name:SetPoint("RIGHT", hp, -95, 0)
I've not looked into it too much, so altering the anchor points may cause some overlap with other elements.