code: def assign_method(stochastic, scale=None, verbose=-1):
      
  
      # Retrieve set of best candidates
      best_candidates = pick_best_methods(stochastic)
  
      # Randomly grab and appropriate method
      method = best_candidates.pop()
  
      failure_header = """Failed attempting to automatically assign step method class %s
  to stochastic variable %s. Try setting %s's competence method to return 0
  and manually assigning it when appropriate. See the user guide.
  
  Error message: """ % (method.__name__, stochastic.__name__, method.__name__)
  
      try:
          if scale:
              out = method(stochastic, scale=scale, verbose=verbose)
          else:
              out = method(stochastic, verbose=verbose)
      except:
          a, b, c = sys.exc_info()
          try:
              args = list(b.args)
          except AttributeError:
              args = []
          args.append(failure_header)
          b.args = args
          six.reraise(a, b, c)
      return out
docs: Returns a step method instance to handle a
      variable. If several methods have the same competence,
      it picks one arbitrarily (using set.pop()).