introducing jquery widget factory for js components