$user = new User();
        $user->setName($data['name']);
        $user->setEmail($data['email']);
        return $user;
    }
    public function fromNameAndEmail($name, $email)
    {
        $user = new User();
        $user->setName($name);
        $user->setEmail($email);
        return $user;
    }
    public function fromTwitter(TwitterUser $twitter)
    {
        $user = new User();
        $user->setName($twitter->nick);
        $user->setEmail($twitter->email);
        return $user;
    }
    public function setName($name)
    {
        /* ... */
    }
    public function setEmail($email)
    {
        /* ... */
    }
}
$user = User::fromRegisterForm($registerFormData);
$user = User::fromNameAndEmail('User Name', '*****@*****.**');
$user = User::fromTwitter($twitterUser);