move everything related to Tweet into a service with a factory