Added Parameter object to represent a parameter to an object a Factory is responsible for creating
Added a basic factory implementation that can be given the parameters it needs to unpack