Here's a simpler solution:
  def self.work(n = 1)
    n.times.inject(nil){yield}
  end