class NCounter(object):
    """
    INTERNAL USE. EVALUATION PURPOSE ONLY
    
    This is a callback factory whose callbacks register a tick in this class.
    If these callbacks are executed times times, then callback is called.
    
    callback will be called after the handler generated by call.
    
    Example use:
    
        c = NCounter(2, say_hi)
        execute_at_some_time(c(say_hello))
        execute_at_some_time(c(say_yo))
        
    if both execute_at_some_time fire, say_hi will be called
    """
    def __init__(self, times: int, callback: callable):
        self.times = times
        self.callback_ = callback
        
    def __call__(self, clbck: callable):
        
        def cb(*args, **kwargs):
            self.times -= 1
            
            clbck(*args, **kwargs)
            
            if self.times == 0:
                self.callback_()

        return cb
        
@@ -670,32 +670,45 @@
  clbck: callable
+=lambda: None
 ):%0A        %0A    

allow default callback in NCounter