Fixed some issues with open generics

Moved some utility methods into ProductivityExtensions