Remove unnecessary method and change ShelveValidator call.
Refactor ShelveValidator to access through static methods and encapsulate all necessary logic.
Refactor shelve command, put some logic in the run method to decide which task run.