I once built a project management system wherein user stories and tasks were separate entities with no parent-child relationship. If you wanted to connect them you would have to do so through a feature (basically a group of user stories and tasks).
The idea was that user stories could be created and grouped into features when speccing a project. Then developers could jump in afterwards and populate the features with actual tasks. The estimation would be done on the tasks rather than the user stories.
In the end I didn't really invest the time and ressources to push the idea anywhere, but I still think it's an abstraction worth investigating. That is if it hasn't already been.
I suspect that this approach might not be the best fit for more "fluent" projects as you are unable to reevaluate how things should work until the whole feature is finished, but that's just my wild guess as I've never worked in such setup.
The idea was that user stories could be created and grouped into features when speccing a project. Then developers could jump in afterwards and populate the features with actual tasks. The estimation would be done on the tasks rather than the user stories.
In the end I didn't really invest the time and ressources to push the idea anywhere, but I still think it's an abstraction worth investigating. That is if it hasn't already been.