从CI spark加载扩展控制器

I have a CodeIgniter spark defining&autoloading a class libraries/Nci_nicecontroller.php:

class Nci_nicecontroller extends CI_Controller {
  //...
}
//autoloaded using $autoload['libraries'][]='nci_nicecontroller';

now I want to use Nci_nicecontroller in my application's controller, e.g.:

class Welcome extends Nci_nicecontroller {
  //...
}
//autoloaded using $autoload['sparks'][]='nci-extensions/0.0.4';

obviously, I can't just $this->load->spark in my controller's constructor, because it's required on class extension.

when not using sparks, I just put the Nci_nicecontroller in a core/MY_Controller.php, but with sparks, this won't work.

I tried autoloading the spark in my application, which didn't work.

Then I tried:

get_instance()->load->spark('nci-extensions/0.0.4');

in the header of controllers/welcome.php, which gives me following errors:

Severity: Notice
Message: Trying to get property of non-object
Filename: controllers/welcome.php
Line Number: 2
    --and--
Fatal error: Call to a member function spark() on a non-object in
 C:\xampp\htdocs\CodeIgniter_demo\application\controllers\welcome.php on line 2

what shall I do?

Try to do something like that:

class Wellcome extends CI_Controller {
  protected static $_nci = null;

  public function __construct(){
      parent::__construct();
      $this->_nci = $this->load->spark('nci-extensions/0.0.4');
  }

  public function index(){
      $result = $this->_nci->getSomething();
      echo $result;
  }

}