I've sent a PR for splitting server-spi into server-spi and
sever-spi-private.
server-spi should now aim to include only what is needed to create a user
storage provider. There are more in there than I'd like, but it would be to
much work to refactor things at this point.
The PR is:
https://github.com/keycloak/keycloak/pull/3489
I'll give everyone a chance to take a look and object to this before
merging. So please review it asap as I'll be merging it tomorrow.