Started splitting strongly typed wrappers from non strong implementations

For now it looks stupid, but let's see what we'll end up with