<?php
interface Core_Event_Interface
{
    /**
     * @return string
     */
    public function getName();

    /**
     * @return mixed
     */
    public function getSubject();

    /**
     * @return array
     */
    public function getParams();

    /**
     * @param string $name
     *
     * @return mixed
     */
    public function getParam($name);

    /**
     * @param bool $isProcessed
     *
     * @return Core_Event_Interface
     */
    public function setIsProcessed($isProcessed = true);

    /**
     * @return bool
     */
    public function isProcessed();

    /**
     * @return bool
     */
    public function isPropagated();
}