Style tidyup;

- Prefer single-quoted strings when you don't need string interpolation or special symbols.
- Remove redundant return.
- Use proc instead of Proc.new.
- Remove unused block arguments.
- Use array literal instead of Array.new.
- Use fail instead of raise.
Turns out I didn't need Buffer back again.