Mutation observers

add mutation observers as an option