Make various changes to allow a wrapper function to pass in arguments, as well as pulling out the string for reporting arguments to a seperate function to keep it clean.