diff --git a/services/wsprd/app/app_test.go b/services/wsprd/app/app_test.go
index 8c91e31..a3b06b9 100644
--- a/services/wsprd/app/app_test.go
+++ b/services/wsprd/app/app_test.go
@@ -628,6 +628,10 @@
 	expectedBlessingsHandle := 1.0
 	expectedFlowCount := int64(4)
 	if test.hasAuthorizer {
+		// TODO(toddw,bjornick): This is too fragile, clean it up.  In particular,
+		// it depends on the ordering of the authorizer calls for the rpc itself and
+		// the debug trace, which should be an internal detail of the server.
+		//
 		// If an authorizer exists, it gets called twice.  The first time to see if the
 		// client is actually able to make this rpc and a second time to see if the server
 		// is ok with the client getting trace information for the rpc.
diff --git a/services/wsprd/ipc/server/dispatcher_test.go b/services/wsprd/ipc/server/dispatcher_test.go
index 6c61809..1082207 100644
--- a/services/wsprd/ipc/server/dispatcher_test.go
+++ b/services/wsprd/ipc/server/dispatcher_test.go
@@ -42,6 +42,14 @@
 	return nil
 }
 
+func (mockInvoker) Signature(ctx ipc.ServerContext) ([]ipc.InterfaceSig, error) {
+	return nil, nil
+}
+
+func (mockInvoker) MethodSignature(ctx ipc.ServerContext, method string) (ipc.MethodSig, error) {
+	return ipc.MethodSig{}, nil
+}
+
 type mockInvokerFactory struct{}
 
 func (mockInvokerFactory) createInvoker(handle int64, sig signature.JSONServiceSignature, label security.Label) (ipc.Invoker, error) {
diff --git a/services/wsprd/ipc/server/invoker.go b/services/wsprd/ipc/server/invoker.go
index cdb873e..f60dfb0 100644
--- a/services/wsprd/ipc/server/invoker.go
+++ b/services/wsprd/ipc/server/invoker.go
@@ -103,3 +103,13 @@
 func (i *invoker) VGlob() *ipc.GlobState {
 	return nil
 }
+
+// TODO(bjornick,toddw): Implement this for JS.
+func (i *invoker) Signature(ctx ipc.ServerContext) ([]ipc.InterfaceSig, error) {
+	return nil, nil
+}
+
+// TODO(bjornick,toddw): Implement this for JS.
+func (i *invoker) MethodSignature(ctx ipc.ServerContext, method string) (ipc.MethodSig, error) {
+	return ipc.MethodSig{}, nil
+}
diff --git a/services/wsprd/ipc/server/signature_invoker.go b/services/wsprd/ipc/server/signature_invoker.go
index 323ce8b..c50c989 100644
--- a/services/wsprd/ipc/server/signature_invoker.go
+++ b/services/wsprd/ipc/server/signature_invoker.go
@@ -7,6 +7,8 @@
 
 // signatureInvoker acts as the signature() method and is used to handle calls
 // to signature() on behalf of the service
+//
+// TODO(toddw): Replace this with the new Signature call.
 type signatureInvoker struct {
 	// signature of the service
 	sig ipc.ServiceSignature
@@ -36,3 +38,11 @@
 func (i *signatureInvoker) VGlob() *ipc.GlobState {
 	return nil
 }
+
+func (i *signatureInvoker) Signature(ctx ipc.ServerContext) ([]ipc.InterfaceSig, error) {
+	return nil, nil
+}
+
+func (i *signatureInvoker) MethodSignature(ctx ipc.ServerContext, method string) (ipc.MethodSig, error) {
+	return ipc.MethodSig{}, nil
+}
