Refactored new*() and one*() magic methods