But no, you don't have time to do it.
Writing 4000 lines of dense boilerplate to show a newbie and his bosses how to do their job just to prove that I know how to do it, i.e. doing it in a public forum without getting paid, is public masturbation.
You can solve it in one night while watching TV.
Given the time and inclination anyone who has completed every exercise in, for example, "The C++ Standard Library" can accomplish what you've asked without difficulty.
I said, because implementations are different and not flexible enough.
You said "because implementations are different" do not target a particular interface.
You are saying we should still use it even if the implementation we are targetting sucks?
I'm mocking you and your bosses confusion of interface and implementation.