Added interfaces for encryption and protocol plugins
began modularization of the interface