Introduced parameters. Moved some types to the package object. Moved
response handling into it's own object.