i am not using this directly, but needed the getRawKey method
separated the constructor args b/c they may not be the same object
updated path and target