Added abstract adapter class and implemented a simple adapter using it.