Command dispatcher refactoring
more refactoring
more refacoring