Place include guards
Add static keyword to template methods to avoid duplicate symbols
Guard name homogenization