Abstract `Command` base class to make implementing custom commands easier