Using C# dynamic Keyword To Replace Data Transfer Objects