:sleeping:  re-arange api (breaking changes)

replace
replace.by
replace.by.any.className
replace.has.any.className

time for bed...