Written a generic SoftwareFactory that is able to create an object from
a specified description. It supports reloading of JAR files when the
remote version is updated to enable on the fly software updates.
Update comments.
Changed class and package names.