Since I now need to figure out how I'm going to support weights: start by splitting out the basic stuff from the unweighted stuff