Updating project structure, namespaces, contextual grouping
Major refactor - neatened up code, clearer API