Changed transience property to be final, and added constructor to all implementing ProtectedRegion classes to allow regions to be defined as transient