Changed IPipeConnection to return three states

And fix engines connecting to pipes. This is why I shouldn't code at 5
AM.