Added ancestry support. Overhauled JSON serialization pattern.