This is good, but it could be pared down even further:
  def self.work n = 1
    n.times.inject(nil){yield}
  end