documentation / restructure to use less closures, named private functions instead
refs #10