Refactored creation to Contact, added create_or_update