def __init__(self,
                 # facilities used by this object
                 rewardhandler=None,            # a RewardLogic instance that manages the processing of generated rewards/penalties 
                 presenter=None,                # the presenter on which to output the math problems
                 presenter_params={'pos':lambda:[random.uniform(-0.5,0.5),random.uniform(-0.5,0)],      # parameters of a textpresenter, if no presenter is given
                                   'clearafter':3,'framecolor':[0,0,0,0],'scale':0.1,'align':'center'},
                 focused = True,                # whether this task is currently focused

                 # end conditions
                 end_timeout=None,              # end presentation after the timeout has passed
                 end_numproblems=None,          # end presentation after this number of problems have been presented