А чем оно типо лучше? У них интерфейсы почти одинаковыенбтСериалайзабля
The Capability.IStorage implementation is responsible for reading/writing NBT for the default implementation of the handler interface. It doesn't have to support alternative implementations.
If your ICapabilityProvider implementation also implements INBTSerializable (or implements ICapabilitySerializable, a combination of the two interfaces), it will be used to read from/write to NBT. If it provides a compatible implementation of the handler interface, it can use the IStorage to do this. If it provides an implementation not supported by the IStorage, it needs to do this itself.