Refactored interface to enable rename and copy detection and added tests.  Note that copy tests are currently failing.