<p dir="auto">It parses <code class="notranslate">&amp;bull;</code> in html as <code class="notranslate">ÔÇó</code>:</p>
<p dir="auto">The following is from the output of a test that should pass:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'phpBB ÔÇó Free and Open Source Forum Software'
+'phpBB &amp;bull; Free and Open Source Forum Software'"><pre class="notranslate"><code class="notranslate">Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'phpBB ÔÇó Free and Open Source Forum Software'
+'phpBB &amp;bull; Free and Open Source Forum Software'
</code></pre></div>
<p dir="auto">Currently, adders and removers must be prefixed with "add" and "remove". When applying DDD, this sometimes doesn't make sense, for example:</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class Contact
{
    public function addGroup(ContactGroup $group) { }
    public function removeGroup(ContactGroup $group) { }
}"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-v">Contact</span>
{
    <span class="pl-k">public</span> <span class="pl-k">function</span> <span class="pl-en">addGroup</span>(<span class="pl-smi"><span class="pl-smi">ContactGroup</span></span> <span class="pl-s1"><span class="pl-c1">$</span>group</span>) { }
    <span class="pl-k">public</span> <span class="pl-k">function</span> <span class="pl-en">removeGroup</span>(<span class="pl-smi"><span class="pl-smi">ContactGroup</span></span> <span class="pl-s1"><span class="pl-c1">$</span>group</span>) { }
}</pre></div>
<p dir="auto">Here it would make much more sense to prefix the methods with "join" and "leave":</p>
<div class="highlight highlight-text-html-php notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class Contact
{
    public function joinGroup(ContactGroup $group) { }
    public function leaveGroup(ContactGroup $group) { }
}"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-v">Contact</span>
{
    <span class="pl-k">public</span> <span class="pl-k">function</span> <span class="pl-en">joinGroup</span>(<span class="pl-smi"><span class="pl-smi">ContactGroup</span></span> <span class="pl-s1"><span class="pl-c1">$</span>group</span>) { }
    <span class="pl-k">public</span> <span class="pl-k">function</span> <span class="pl-en">leaveGroup</span>(<span class="pl-smi"><span class="pl-smi">ContactGroup</span></span> <span class="pl-s1"><span class="pl-c1">$</span>group</span>) { }
}</pre></div>
<p dir="auto">The PropertyAccessor should provide a way to use these methods.</p>