Reorganized, pulling starbound generic classes out

Pulled generic classes into their own lib