in reply to why is a 2-argument bless not working in my situation
Your new method is being called as a class method, therefore the class is the first argument rather than the second. ie, the class is in $self.