Made the transient light block abstract for better handling