Major rewrite part 1: Parts are singletons now.