Precisei implementar um subconjunto desses recursos em outro plugin em que estou trabalhando, então decidi separá-los em um plugin independente, pois mesmo nesta fase inicial, eles podem ser úteis para outros (e isso facilita construí-los e implementar toda essa especificação no futuro):
O README explica muitas das ressalvas, sendo a maior delas provavelmente a falta de uma interface de usuário.