I wonder what would be best practice
1. To keep everything in one plugin
self contained, easy to install, but only on plugin. However, if functions are copied to another plugin later, this would take more space. It could also complicate things if two plugins edit the same shadow tiddler.
2. Make a main plugin with dependencies on smaller plugins
This would give several different plugins but would be more cumbersome to install and to maintain. And it could be a mess in the future, if by mistake, a plugin update will break a dependency.
And what if you use something from a plugin from someone else? E.g. a background from shiraz. Then you have no control over future updates. Would it then be best to copy the function from the plugin to your own or to make a dependency?