split up component draw function to fix too-many-locals warning

4 jobs for more-labels in 2 minutes and 4 seconds (queued for 1 second)