Extract generic code in adapter as Pluggable