use performStart/Stop method to implement lifecycle