Remove event listeners after they are no longer needed

When multiple calls are made to the client, it is necessary to remove
the listeners when the callback has been called signifying the end of the
callback chain. Without this, when scp is called multiple times, the
callbacks of previous calls will be executed again and again though the
original calls were completed.