commandItem needs atomicity, considering CreateCommandItem as private