Added generic protocol other protocols must inherit, and a method to unload protocols on demand.