Refactored calendar source as adapter.

Added adapter so another package can overwrite/extend it to add css classes or other fields.

@maethu