I would rather not use underscore prepended variables passed into functions. As I look at this I also notice the horrible changing between camel case and underscore delimited variables, which is my bad. I will probably go through and clean that up at some point.