Simple DI Container implementation