Handle optional arguments better

Ruby 1.8 doesn't support optional arguments in blocks.