Tried this and it gets really hairy using generics everywhere. I won't like to go that way unless you strongly feel so.