Implemented base classes for adapters. Small BC breakage from this commit.