I think I could some of unnecessary complexity and boilerplate code in manage.sh, as well as path resolution within functions, could possibly be eliminated by switching a symlink based approach - or some sort of dynamic path injection / sourcing.
The drawback here is that I would lose having a "staging" area, if you will, for experimenting without actually pushing the changes to my live sourced files. So I want to mull this over a bit and explore some options.