Source / target cleanup

Still needs addEventListener support