Best way to replace CTerrain

Best I can tell there is no standard way of replacing the terrain engine in Lumberyard. It appears that at one point there was some thought given to the possibility of having different terrain handling classes (ITerrain), but CTerrain seems to be the only thing that can be used.

If I wanted to alter this in order for a new terrain engine could be added from a gem and replace the default CTerrain used in the engine what would be the best way to handle it.

Should a new interface be created for defining the terrain engine or is there a way to conscript the Component/Module definition system and operate the terrain as a component instead of its own thing.

I am relatively new to lumberyard but with a little guidance I am sure I could code up something to make it work.