))block {  return [[[self alloc] initWithBlock:block] autorelease]; }  -(id) initWithBlock:(void(^)())block {  if ((self = [super init]))   block_ = [block copy];   return self; }  -(id) copyWithZone: (NSZone*) zone {  CCActionInstant *copy = [[[self class] allocWithZone: zone] initWithBlock:block_];  return copy; }  -(void) update:(ccTime)time {  [self execute]; }  -(void) execute {  block_(); }  -(void) dealloc {  [block_ release];  [super dealloc]; }  @end  #pragma mark CCCallBlock