An object based DOM abstraction writen in Javascript