refactoring command related configuration
created a consistent viewUser method
moved viewuser to a trait
added setenabledlistener