public static void Inject(object obj)
        {
            var type   = obj.GetType();
            var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            foreach (var field in fields)
            {
                componentsInjector.InjectComponent(obj, field);
                componentsInjector.InjectComponentFromChild(obj, field);
                componentsInjector.InjectComponentFromObject(obj, field);
                componentsInjector.InjectAsSingle(obj, field);
                componentsInjector.InjectAsTransient(obj, field);
                componentsInjector.InjectFactory(obj, field);
            }
        }