refactoring command pattern to not depend on vli and to break server specific opts and logic into custom extendable class