added context.subscribe() api for a much simplified api