public function setup_source($value)
{
if (is_array($value) && count($value) === 2 && is_object($value[0]) && is_string($value[1])) {
return sprintf('%s#%s', get_class($value[0]), $value[1]);
}
if (is_string($value) && is_callable($value)) {
return $value;
}
// No support for closure.
if (is_object($value) && $value instanceof Closure) {
return '';
}
return $value;
}