Attempting to re-write the Trigger API