Made the annotate function transactional so it rolls back the created attribute meta data as well when all fails
hyphens are evil