Simple IOC container