private function getHandlebars($resolver, $sourceFile)
 {
     $source = $this->getHandlebarsSource($resolver, $sourceFile);
     // @fixme - this should probably be handled by v8js-handlebars
     // If the handlebars extension does not compile this bars text that even ob_start() won't catch, as well
     // as throwing an E_WARNING :(
     set_error_handler(function ($errno, $errstr) use($sourceFile) {
         restore_error_handler();
         throw new InvalidSourceException(sprintf("An error occurred creating handlebars instance from source '%s': %s", $sourceFile, $errstr));
     }, E_WARNING);
     if (!Handlebars::isRegistered()) {
         Handlebars::registerHandlebarsExtension($source);
     }
     $handlebars = new Handlebars();
     restore_error_handler();
     return $handlebars;
 }