The abstract method CreateComponent could include throws Exception to reduce boilerplate code in tests. If an exception is thrown during the component creation the test fails. In this way users are not forced to wrap any exceptions in a RuntimeException
Consider the case when users have to instantiate the component from a fxml file: such operation has the potential to throw IOException and URISyntaxException