dev: design overlay as singleton

will task a litter more memory, but worth to do so, cause it's so easy
to use