cleaner handling of dependencies in composer.json