change definition regular of CALLBACK extension
use Array.slice() instead of Array.shift() to prevent source data change