public static function queue($fn, $name = null)
{
if (is_null($name) && is_object($fn)) {
$name = spl_object_hash($fn);
}
if (is_object($name)) {
$name = spl_object_hash($name);
}
if (is_null($name)) {
self::$write_queue[] = $fn;
} else {
self::$write_queue[$name] = $fn;
}
}