Вместо статической переменной в базовом классе задач я бы предпочел внедрить ядро в каждый экземпляр класса. Это обеспечивает немного большую гибкость, если вы когда-нибудь решите, что вам нужно более одного ядра (по любой причине). Статическая переменная в базовом классе выглядит просто yucky , из-за отсутствия лучшего термина.