Is there a difference in meaning between ‘refactoring’ some code and ’re-writing' it?