cleanup of commands comments
command constructor visibility reduced

to force calling the constructor that sets the internal command type
fixed not calling useless operations when consumer already removed
don't call remove multiple times after target is already removed