Factor out tag list into its own class