Added generic writer module.

Also, 'walk' no longer returns a 'level'.