added a method to Categories to clone a non-isReal version and edited constructors in Event and Commitment to use that instead of direct reference