Sorry, this is tooooo complex now :)

I'll stay with my duplication, `factory` is nice, but a real one. So, for later.