Added callback and tweaked names.
Added more adapter and spec support.