Added dependency override (use()), and new singleton syntax (.bind().to().asSingleton())