* moved common code to an module_util snippet * rewrote logic to make each module idempotent * added new capabilities like the write_config option