Should I be namespacing stuff and creating functions differently?

Also, should this go in bjc-library?