Creation of common area is important. Whether it gets its own module or just its own plugin in as is debatable. This "core" must have zero dependencies on anything not wtp-related.
The scope of this core (if located in the AS module) could also be a home for any and all overridden or borrowed WTP code that we find unsuitable in its current form, or any code that could have a common use but interfaces with WTP via extension points or subclassing.