Broke SpanGenerator out into its own class.