I agree. This seems like it would make more sense as a canvas library unless there's a use case I'm not understanding.
I think there is value in making it a declarative model