Adding logic for charm tags.

Adding functionality to tag charms. This is a pre-cursor for charm annotations :)
strictly speaking, this needs to be documented since it is exported. i know other similar ones aren't :-(