What if we get a third project type? This part can be better abstracted.