Adapter delegate pattern