Added a tap delegate to the factory constructors