New template structure

No comment
I really hate all these probes for the protocols, we should abstract and probe in a more general way. The startup interface for all the protocols are almost identical so it should be feasible.
We don't necessarily have to fix this before merge to master.