overwrite Application::run to use command if name exists already

This PR will prevent the application from over writing commands that have already been defined. This is preferable as to maintain references in the command itself.