Attempt at DI Container