Split the protocols and the examplary implementations