Separated the legacy threads from the 'regular' threads by introducing a LegacyThreadImplementation class.