Added abstract base class for scoped attributes.

User may want to implement his own guard.