improved command dispatching
cleaner naming
improved example usage
further improved example