class Tryouts::Tryout
def dream(*args, &definition)
def dream(*args, &definition) if args.empty? dobj = Tryouts::Drill::Dream.from_block definition else args = args.size == 1 ? [args.first] : args.reverse dobj = Tryouts::Drill::Dream.new(*args) end @dream_catcher.push dobj dobj end