Create Comment (comment bubble Tool)
Comment Bubble, is a Tool. A tool must be associated with a Command, which holds all the logic. As it stands now, create comment is executed in the tool, and the keyboard shortcut through the execution method of the Command. All the logic of when you can create comment should go in the Command's getCommandState method, and execute should be unique both for the keyboard shortcut and when you click the overlay. It is really confusing as it stands now.