Modified to pass the self reference to the constructor, for setting the target source