L!MP, почему жестко?
function __construct()
{
$this->setting = registry::getFromMysqli(); // хоть какую жопу назначай в допустим registry::setFromMysqli(['connect' => new Config('mysqli'), 'cache' => new Cache()]); //бла бла бла
тут скорее вопрос вкуса. я понимаю о чем ты. "общепринятый" подход. но не единственный
}