API improvements for Component; failing test for script loading meaning that asynchronous rendering seems necessary