protected function buildCallback($callback)
{
$out = self::OUT;
$callback = function ($type, $data) use($callback, $out) {
if ($out == $type) {
$this->addOutput($data);
} else {
$this->addErrorOutput($data);
}
if (null !== $callback) {
call_user_func($callback, $type, $data);
}
};
return $callback;
}