Added versioning of web api using the decorator design pattern, dynamic typing, and other hacks