use helper to create shared_ptr in phoenix lambda function