Just a really silly nitpick about putting spaces after commas, but other than that this looks good to me.  I'll wait to let others more familiar with this code comment though.