P.classes.add({
	Element: function (params) {
		var $el = $(params.el),
			e,
			state = null;
		for (e in params.events) {
			$el.bind(e, params.events[e]);
		}
		return {
			getState: function () {
				return state;
			},
			setState: function (newState) {
				state = newState;
				return this;
			},
			getEl: function () {
				return $el;
			}
		};
	}
});

P.classes.Element.extend('Collapsible', function () {
	var self = this;
	return {
		
	};
});