Unless you need a "stable" version of your in-development work I wouldn't split parts of it into branches.
Use branches to draft and explore changes, and merge them when they're accepted into the baseline draft/current state.
Don't be afraid to merge "better than before but not final or complete or conclusive" work. You're trying to evolve, not construct final parts to combine. They won't ever be final.