Major modularization changes to untangle from jQueryUI, resolves #22