Optimization

APC and canister (because I think these two needed to update their icons time by time)
By removing the else branch it greatly reduced the amount of CPU time used within the proc.