move command/base to command/executor, separating concerns to smaller classes