Returning pointers proved inconvenient in almost all cases. This commmit converts the constructors to returning values.