22declare(strict_types=1);
 
   28    private static $instance = 
null;
 
   30    private static function make() : self{
 
   34    public static function getInstance() : self{
 
   35        if(self::$instance === null){
 
   36            self::$instance = self::make();
 
   38        return self::$instance;
 
   41    public static function setInstance(
self $instance) : void{
 
   42        self::$instance = $instance;
 
   45    public static function reset() : void{
 
   46        self::$instance = null;