Refactored to use service loader for property and parameter factories
Use strings instead of Id enum for factory support to allow for extended property/parameter factories