Pattern 8 - Value object; added permission policy; added tests; tiddied up old helpers and other codes