Beginning of port from de.bsp.js
added an extender, so I can pass js like option objects