Role based collectors

This looks huge but 99% of it changing symbols to strings.