public function __construct(Composer $composer = null, IOInterface $io = null)
{
$this->composer = isset($composer) ? $composer : new Composer();
$this->io = isset($io) ? $io : new NullIO();
$this->fs = new Filesystem();
$this->installationManager = $this->composer->getInstallationManager();
// TODO: Break compatibility and expect in interface
$args = func_get_args();
$this->options = count($args) > 2 && is_array($args[2]) ? $args[2] : array();
}