A light-weight and dynamic dependency injection framework