Modified to be compatible as a Composer package.