rip out some old methods / locals inside Protection
Base class for ProtectionListener (name may change); add Description & Password components
base class for metadata