Change external registration to call back with shell handle

BUG=
R=cmasone@chromium.org

Review URL: https://codereview.chromium.org/665233006