move some types into own files
optional custom load and set flags
optional flags provided as lists
default set flag now empty string, module and prop alias working; still hacky, needs more concise syntax