Idempotency is a bad idea

Make class with prototype object. Add static extend()
function.