One day, I'll get the composer.json syntax right at first try...