I am trying to develop an engine with a very decoupled architecture. This way, in the future I can easily replace the graphics component, input component, audio component, etc. easily.
The problem is that SFML's graphics and input seem to be closely coupled together.
Any ideas?