rework hooks so all callables work, keep track of hooks, including timestamp hooks