I've seen many post (for example, see https://stackoverflow.com/a/7363860/1378356) which state that ASP.NET User Controls (.ascx) were not intended to be used across different projects/assemblies. Rather, the right way would be to create a server/custom control.
My question is, how then was it intended for one to create a DNN Module? DNN Modules typically have an .ascx file which inherit from DotNetNuke.Entities.Modules.PortalModuleBase which ultimately inherit from System.Web.UI.UserControl.
Is this the correct way to create a DNN Module and if so will I experience pains along the way?