Light-weight IoC and DI engine using AOP