I'm not sure I agree with this 100%, but let's move createBlocklyButton in rover as an overridden function.  I think that will suffice for both cases, and possibly remove the mars-game specific code.  Any application will always need a way to make the blockly UI visible, but not all of them may want to do that through a 3d object.