Make Tagging Work

This commit is primarily about making tagging work properly, but it also
adds the basics for extending out tags