Resolves Spec Issue 150: Refactor Listeners to use Factories