Reorganise functions into more files based on their purpose
Link builder methods can optionally take format strings