introduce helper classes to make the order of properties/todo flags be self-documenting