Avoiding 'new' in IOC - C#