class DefaultWorkbenchEntryPoint {

    protected void setupRpcDefaultErrorCallback() {
        //FIXME: Some RPC calls are made before this callback has the chance to be registered. Investigate and fix.
        final ErrorCallback<Message> originalRpcErrorCallback = AbstractRpcProxy.DEFAULT_RPC_ERROR_CALLBACK;

        AbstractRpcProxy.DEFAULT_RPC_ERROR_CALLBACK = (final Message m, final Throwable t) -> {

            //Removing parameter/return information because sensitive data might be encoded.
            //Also, this is safe because this message is not going to be used anymore.
            m.remove("MethodParms");
            m.remove("MethodReply");

            genericErrorPopup.setup(BusToolsCli.encodeMessage(m));

            //This will send a message to Errai Bus' error channel.
            return originalRpcErrorCallback.error(m, t);
        };
    }

    @Inject public  DefaultWorkbenchEntryPoint(final Caller<AppConfigService> appConfigService,
                                      final ActivityBeansCache activityBeansCache,
                                      final DefaultWorkbenchErrorCallback defaultWorkbenchErrorCallback);

}