Organise source code
 - In preparation for lib + plugins architecture