NamedThreadFactory should not be public