Update dependencies and move to a Composer plugin