Improved parameter hinting API.
Cleaned up some legacy code & moved some functionality to extension
methods (It's not possible to implement them differently). I let the
interfaces intact here for allowing the implementor maximum
flexibility.