WIP made use of Supplier to replace the SharedAttributeListener. Not as
practical or useful as originally intended. If you want your listener to
know the ID of the agent then make an AgentListener that creates the
listener.