add: self reference to callback