Add proxy passing to peripherals
Update TC adapter to new API, make methods async