allow custom base type for applications (like activity and fragment)