The major parts of
- Less duplication: Currently if you change the path for that listing, you have to change it in at least two places, plus once more for each operation
- Ease of adding a list controller: Adding the controller itself and it's definition in hook_entity_info() is it, no need to touch hook_menu()
- The controller knows where it exists: Often times an operation might need to redirect or reload, and it shouldn't have to hardcode the destination
- Discoverability of menu items: With the exception of field_ui_menu(), menu items are all in your own .module, in hook_menu() or hook_menu_alter()
- localize.drupal.org: It currently parses the hook_menu() definitions directly
- Allow entities, or their controllers, to specify their path.
- Allow controllers to provide menu items
User interface changes
- is postponed on this issue.