Basic Target module to manage render targets

Just curious why the max is 4. Is it something we could default to 4 but allow it to be configured by users of the library?