Add metadata support to CompletionItemData
Move CompleteAction use to CompletionItemData
Refactoring