Add default ordering, Add custom errors for invalid states/transformations