the abstract factory uses the Proxy interface from the commons namespace. is there a reason to keep this? and if so, how would we make the factory use the right interface? /cc @beberlei