The purpose of this seems to be to have multiple implementations. Can you explain the rationale for it?