Moved code back into the main project after it became a nightmare with the generic's not being able to inherit from NSObject
Fixed element issues