Why use pluggable protocols?