Use member functions instead of static functions

Well, I think there is more confusion about pure header libraries than
there is actual benefit. At least from my current perspective. This
means we can change from using static functions to actual member
functions of classes and structs.