This revision is addressing concerns raised by @vladislavbelov from rP23917.
There might be a better name for RLGameCommand but it should at least avoid collisions.
Also, I added a comment explaining the RL Interface at a high level. Let me know if you would like comments for individual methods, more details in the comment, etc.