Changing schedules to include multiple activities

Minor comment: with Java 7, you can say
private List<Activity> activities = new ArrayList<>();

Which is just as minimal and type safe, and doesn't involve an extra method call.