As a workaround, rather than a full answer, I subclassed the Connector
class to allow me to override the edit method to remove the pageId null check that was causing the problem.
I've not fully tested it so there may be other implications but this has solved the problem as far as I require at the moment. Will update if I discover a better, more general, approach.