Minimal dependency injection framework for C#