I think it would make sense to rename all the *Adapter classes to Abstract* instead, as they are not really Adapters.