Requiring CommandAbstract and CommandInterface [ci skip]