[major] Move all function to it's own dedicated metroplex class