commit line info extraction into its own service object