roughly implement Domain
and KstFile has-a domain
split Domain class from Krystal.h into separate file and rename it to Context