Moved all properties to own classes and removed the old properties classes and added more logic to the new property base class