actually run before/after tick callbacks before/after tick
simplify manager.tick method