Both need to conform to Point<int> to be accepted by the engine.
Methods concerning engine make use of EngineService, those concerning grid and patterns make use of SimulationService.
Will eventually attach to the Simulation directly without first going through Engine. For now just redirects calls to EngineService to keep functions intact.