The change from 2 to 3 is confusing to me. Maybe add some comment about what 3 means, or have a enum to give it meaningful names.