pub trait BaseSinkImpl: BaseSinkImplExt + ElementImpl {
Show methods
    fn start(&self, element: &Self::Type) -> Result<(), ErrorMessage> { ... }
    fn stop(&self, element: &Self::Type) -> Result<(), ErrorMessage> { ... }
    fn render(
        &self, 
        element: &Self::Type, 
        buffer: &Buffer
    ) -> Result<FlowSuccess, FlowError> { ... }
    fn prepare(
        &self, 
        element: &Self::Type, 
        buffer: &Buffer
    ) -> Result<FlowSuccess, FlowError> { ... }
    fn render_list(
        &self, 
        element: &Self::Type, 
        list: &BufferList
    ) -> Result<FlowSuccess, FlowError> { ... }
    fn prepare_list(
        &self, 
        element: &Self::Type, 
        list: &BufferList
    ) -> Result<FlowSuccess, FlowError> { ... }
    fn query(&self, element: &Self::Type, query: &mut QueryRef) -> bool { ... }
    fn event(&self, element: &Self::Type, event: Event) -> bool { ... }
    fn caps(&self, element: &Self::Type, filter: Option<&Caps>) -> Option<Caps> { ... }
    fn set_caps(
        &self, 
        element: &Self::Type, 
        caps: &Caps
    ) -> Result<(), LoggableError> { ... }
    fn fixate(&self, element: &Self::Type, caps: Caps) -> Caps { ... }
    fn unlock(&self, element: &Self::Type) -> Result<(), ErrorMessage> { ... }
    fn unlock_stop(&self, element: &Self::Type) -> Result<(), ErrorMessage> { ... }
 }