Make sure you collect the correct graph
Record the fact that a subscription has been added
Move guard against already listening into the if block to avoid IllegalStateException when not handled