Add New Command Structure

Duplicate of #220, now against the correct branch! :fireworks: