Refactor CommandTask classes to be immutable