Rebased2 fix replay

Replaces #147 as that won't merge because a recent commit (using QPointer for Host class now) touches one file too close to a change one of these commits does.  This also incorporates a couple of suggestions from others that  I've taken on board.

It feels a little like I'm playing "pin the tail on the donkey" _- except the donkey is alive and moving around_
What does it mean 'optionally with a path'?