Added empty check for $terms.
Returning $this for chaining.
Better validation.
Fixed accidental setting to labels.
Updated comment.
Moved add_action() for terms to addTerms().