@KD,
I don't think all of that is required. I believe you would need to create a service loader file similar to
this, provide an implementation for "org.openqa.selenium.remote.server.DriverProvider", build a jar out of it and make it available in your CLASSPATH when you spin off your node using a command such as
this.
Since the Grid infrastructure itself has been built such that it can pick up custom DriverProvider implementations via ServiceLoaders, the rest of the stuff is automatically taken care of.
Of-course, on the client side, you wouldn't be having a out of the box static method for your custom browser, you would need to essentially go about handcrafting the browser name that matches with what you have provided as part of your DriverProvider implementation.
The rest of the stuff should fall in place automatically.
PS : I have not tried this in reality, but from looking at the code, I believe that my theory should work for you in real as well.
Please give it a try and let us know.
Oh btw, I loved what you have done with the JavaDriver and was part of the session that you ran in the recently concluded Selenium Conference held in Bangalore!