Attr protection

* Not defining ::$attrs will cause exception to be thrown