use unique_ptr for actions for memory mgr