May I suggest you raise exceptions instead of returning nil in, for example, script.rb? Those nils are just making things worse since later it's difficult to understand why attributes are nil. It's just a good practice to avoid nil in object-oriented programming. Thanks.