Traços são a melhor coisa que pode acontecer com o PHP

Se você não fez bom uso dos traços, deve começar a usá-los. Realmente não poderia haver melhor exemplo de por que usar características do que apenas para isso:

trait Singleton
{
private static $_instance;

public static function getInstance() {
if (!self::$_instance instanceof self) {
self::$_instance = new self;
}
return self::$_instance;
}
}

class Class_1
{
use Singleton;
}

class Class_2
{
use Singleton;
}

São pelo menos 6 linhas de código que você nunca precisa repetir para fazer uma classe Singleton …