Moves weren't being applied to the referenced piece (where there was one) - so code to do this was added in to all relevant move types