cleaning up

removed property factory, adding additional functionality to property
type to allow them to be created more dynamically