added BaseProvider
added closest with checking attr exists
added Provider binding and click event binding
added abstract resource