Regarding the Windows memory issue (if someone wants to stay with Data::Dumper): it's not nearly as bad if you force it to use the pure-Perl implementation by setting the $Data::Dumper::Useqq flag. Without that, I've had data structures taking up hundreds of megabytes of RAM.
Your module sounds great though.
/J