Adapter tweaks

Safer to add listener from generic instead of calling base.OnInit;
prevents base.OnInit being called second time from InnerAdapter