Add missing includes
Add static where appropriate
Use correct type
Remove unused code
Reduce chance we make mistakes with client code
Use correct type
Use correct type
Prefer static declaration
staticify where possible
remove testing garbage