Lots of javadoc and fixed CommandHandler interface