The function is itself the object definition, so 'empty' in this context is actually a type ( in the sense that
var x = new empty(); ). The objective was for 'empty' to incorporate Parameter's properties into itself, so that they may be referenced when the scope has a different context (i.e. empty.ID, where Parameter is no longer accessible).
I was trying to develop an idea for a solution to a problem, and have since scrapped this option for a cleaner one.
Many thanks for your responses.