The Ajax framework was originally intended to be used with FAPI. It was later extended to make it possible to use it with links or other elements.
The current framework is not flexible enough and the code is more complicated than it needs to be. It is also unclear how to use it, some work on the doc wouldn't hurt.
Some practical goals:
- Lay down the API and clean it up,
- check the implementation of each method of the API,
- Validate the way we're dealing with ajax commands on the JS side,
- try to simplify and merge certain portion of the code,
- find a better place than Drupal.ajax to keep created ajax objects,
- BONUS: Investigate if adding basic events and detach makes sense, as described in #1763812: [META] Provide complete attach/detach with basic events
There are other things, feel free to add suggestions.
This is mainly a JS issue, I don't have an opinion on the PHP side of this framework.