Because in the future, we maybe have another implementation of the CalDAV server.
If we have factory, we could add new one easily and switch different one we want.