do not extend twice if element was removed from dom
move supports into element-level
replace supports calls with feature check