Давайте приучать себя к ООП,
Не надо использовать здесь статического доступа. Создаем объект Shell, наполняем его командами, все методы - внутри этого объекта. То же самое касается Location - создаем отдельный объект для хранения состояния.