Extract calendar rendering to separate module