New protocol package
Moved protocol handling into its own package