AbstractAdapter was added to make it easier to extend functionality