The choice of delimiter key used in the CompositeKey is subjective. The chaincode implementer may choose to have their own delimiter logic in place. The keys added in the CompositeKey would end up in the blockchain's state db, eventually in the blocks as well. The choice to application developers makes it possible for them to choose what keys are added in those structures.