Updated PerformWithAdapter added Action with Func