MarsRover A loosely coupled, C# .NET solution to the (in)famous Mars Rover problem using the Generic Abstract Factory