Rebuilding several classes for decoupling, made context independent from fuel