One class to build them all...